【发布时间】:2018-05-24 06:01:25
【问题描述】:
dplyr 中是否有一个函数允许您针对选择的列测试相同的条件?
获取以下数据框:
Demo1 <- c(8,9,10,11)
Demo2 <- c(13,14,15,16)
Condition <- c('A', 'A', 'B', 'B')
Var1 <- c(13,76,105,64)
Var2 <- c(12,101,23,23)
Var3 <- c(5,5,5,5)
df <- as.data.frame(cbind(Demo1, Demo2, Condition, Var1, Var2, Var3), stringsAsFactors = F)
df[4:6] <- lapply(df[4:6], as.numeric)
我想取出 Var1、Var2 或 Var3 中至少有一个大于 100 的所有行。我意识到我可以使用一系列 or 语句来做到这一点,如下所示:
df <- df %>%
filter(Var1 > 100 | Var2 > 100 | Var3 > 100)
但是,由于我的实际数据集中有很多列,因此这将非常耗时。我假设有一些相当简单的方法可以做到这一点,但无法在 SO 上找到解决方案。
【问题讨论】: