是否有一种快速的方法可以多次过滤data.frame的行?

时间:2018-06-28 17:18:52

标签: r dplyr

我有一个数据帧xd,我希望从中过滤ID = 1,2的数据,但是1和2都重复两次。

set.seed(12)
xd <- data.frame(id = sort(sample(3,20, rep=TRUE)), y = rnorm(20))
fxd <- subset(xd, subset = id %in% c(1,2,1,2)) # doesn't work
str(fxd)

但是,这不起作用,因为它仅选择id = 1和id = 2一次。有什么快速的解决方法吗?

1 个答案:

答案 0 :(得分:2)

函数subset的{​​{1}}参数期望逻辑表达式,这意味着您可以通过为每行提及subset从行中进行选择。

如果要复制选择,则可以选择使用TRUE/FALSE。其中返回which,可以复制。因此,选项可以是:

row-number