如何使用“OR”过滤R列中的数据帧?

时间:2014-01-14 21:09:43

标签: r dataframe

我想过滤一个数据框,其中有几列,其中列x = a或列y = a。我怎样才能做到这一点?我知道要仅在列中进行过滤,我可以这样做:

data[data$col1==515, ]

2 个答案:

答案 0 :(得分:2)

您正在寻找逻辑运算符|):

data[data$col1 == 515 | data$col2 == 515, ]

另一种方法是:

data[as.logical(rowSums(dat[c("col1", "col2")] == 515)), ]

答案 1 :(得分:1)

我认为您的问题有一个错误,因为您选择行而不是列。

这就是你需要的。

data[ ,sapply(data, function(x) 515 == x)]

这将删除数据框中不相等的列到515.这样做有什么意义?我不知道。你基本上会得到一堆重复的值515 ...所以评论,如果我不明白这个问题,我会给你一个更好的解决方案