R - 按列筛选行 - 其他数据帧中包含的列名称

  • 本文关键字:包含 其他 筛选 数据帧 r
  • 更新时间 :
  • 英文 :


另一个基本问题,但我似乎找不到解决方案。

以mtcars为例。 我想知道行数,其中 vs AND am 高于 0.5。 和

df<- mtcars
x <- subset(mtcars, (vs > 0.5) & (am > 0.5))

df<- mtcars
x <- subset(mtcars, (vs > 0.5) | (am > 0.5))

到目前为止很容易。

现在,我想确切地改变要用于筛选的列。我想要的列名包含在另一个数据帧中。如何进行过滤?我该怎么做才能将列名与 OR 或 AND 进行比较 - 即比较所有列行对或列行对。

df<- mtcars
colnames <- c("vs","am")
x <- subset(mtcars, mtcars[,colnames] > 0.5)

没有给出正确的答案... 感谢您的帮助!

不是使用基本 R 的最聪明的解决方案,但我希望你理解的方式:

mtcars[apply(mtcars[,colnames] > 0.5,1,function(x){ifelse(TRUE %in% x, TRUE, FALSE)}),]

最新更新