假设我们有一个data frame df,其中有两列(group和value)。 我们可以使用dplyr包的filter和group_by函数来解决这个问题:
library(dplyr)
## 创建一个示例数据框
set.seed(1)
df <- data.frame(group = rep(c("A", "B", "C"), each = 5),
value = sample(c(TRUE, FALSE), 15, replace = TRUE))
## 按组计算假值的数量并排除超过阈值的组
df_filtered <- df %>%
group_by(group) %>%
filter(sum(!value) < 3)
## 查看结果
df_filtered
在上面的代码中,我们首先使用group_by函数按group列对数据框进行分组。 然后,我们使用sum和!value来计算每个组中的假值数量。 最后,我们使用filter函数来仅保留假值数量小于3的组。
上一篇:按组过滤NAs
下一篇:按组过滤数据框的最小值数量