R删除数据帧中的索引小于某个值的行 [英] R delete rows in data frame where nrow of index is smaller than certain value
本文介绍了R删除数据帧中的索引小于某个值的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想删除数据框中的某些行,当具有相同索引的行数小于预先指定的值时。
I want to delete certain rows in a data frame when the number of rows with the same index is smaller than a pre-specified value.
> fof.6.5[1:15, 1:3]
draw Fund.ID Firm.ID
1 1 1667 666
2 1 1572 622
3 1 1392 553
4 1 248 80
5 1 3223 332
6 2 2959 1998
7 2 2659 1561
8 2 14233 2517
9 2 10521 12579
10 2 3742 1045
11 3 9093 10121
12 3 15681 21626
13 3 26371 70170
14 4 27633 52720
15 4 13751 656
在这个例子中,我希望每个索引有5行。第三个绘图(这是我的索引)少于5行。如果少于5行,我可以如何删除第三个绘图?
In this example, I want each index to have 5 rows. The third draw (which is my index) has fewer than 5 rows. How can I delete the draws like the third one if they have fewer than 5 rows?
推荐答案
您可以使用 dplyr
(假设您的数据位于一个数据框架中,名为 dt
:
You could do this using dplyr
(assuming your data is in a data frame called dt
:
dt %>% group_by(draw) %>% filter(n() >= 5) %>% ungroup()
或者您可以使用表
或 xtabs
:
tab <- xtabs(~ draw, dt)
dt[!dt$draw %in% as.numeric(names(which(tab < 5))), ]
这篇关于R删除数据帧中的索引小于某个值的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文