【发布时间】:2021-07-06 08:36:14
【问题描述】:
我有一个数据框DF,我想根据几个选定列的条件对其进行过滤。
例如,我想过滤 DF 中满足以下条件的行:该行包含列PCS_AB、PCS_AD、PCS_BD 中小于 0.03 的任何值。
DF <- cbind.data.frame(A = c(100, 10, 13),
B = c(33, 44, 12),
D = c(110, 21, 22),
PCS_AB = c(0.03, 0.001, 0.3),
PCS_AD = c(0.01, 0.2, 0.33),
PCS_BD = c(0.99, 1.0, 0.45))
我可以通过以下代码实现:
DF_filter <- DF %>%
filter(PCS_AB < 0.03 | PCS_AD < 0.03 | PCS_BD < 0.03)
但我想要一些更简单的东西,比如下面的伪代码:
DF2 <- DF %>%
filter(any(starts_with("PCS")) < 0.03)
dplyr 可以吗?谢谢。
【问题讨论】: