【发布时间】:2016-12-25 10:39:34
【问题描述】:
我有一个数据集如下:
col1 col2
1 26
1 43
1 34
2 54
2 27
3 15
4 1
4 4
我只想选择 col2 大于 25 的那些组,因此结果数据集应该是
col1 col2
1 26
1 43
1 34
2 54
2 27
这是一个示例数据集,而不是真实的数据,所以我真的在寻找一个 dplyr 答案,而不是一个简单的子集答案:
Nr<-Mrd %>%
group_by(col1) %>%
slice(which.min(col2>25))
但是,这个答案会让我得到每个组中 >25 的行,而不是最小 >25 的组。
【问题讨论】:
-
我不明白你想要的输出。在您的任何组中,最小值均不大于 25。您是否在寻找大于 25 的 any 值?像
Mrd %>% group_by(col1) %>%filter(any(col2 > 25))这样的东西?你真的需要尝试正确地解释自己 -
您的意思是要将
col1保留在col2中至少有1 个值> 25 的位置吗? (即在基地 rind <- df$col1[df$col2 > 25];df[df$col1 %in% ind,] -
道歉。我已经更改了数据,使前两组中的最小值超过 25。但是问题仍然存在 - 我希望得到最小值大于 25 的组
标签: r