我想过滤一个数据框,其中有几列,其中列x = a或列y = a。我怎样才能做到这一点?我知道要仅在列中进行过滤,我可以这样做:
data[data$col1==515, ]
答案 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 ...所以评论,如果我不明白这个问题,我会给你一个更好的解决方案