大家好,我有一个这样的数据框:
value count
<dbl> <dbl>
1 1 10
2 2 20
3 3 30
4 4 40
5 5 50
6 6 60
我希望能够将我的观察分成多个区间。第一个和最后一个间隔必须包括所有超出范围的观察值(例如 2)
interval count
<???> <dbl>
1 [<1, 2] 30
2 [3, 4] 50
3 [5, >6] 110
是否可以用 dplyr 做到这一点?
最佳答案
您可以使用 cut()
创建一个分组变量来汇总计数。
library(dplyr)
df %>%
group_by(grp = cut(value, c(-Inf, 2, 4, Inf))) %>%
summarise(count = sum(count))
# A tibble: 3 x 2
grp count
<fct> <int>
1 (-Inf,2] 30
2 (2,4] 70
3 (4, Inf] 110
关于R 和 dplyr : group by value ranges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58599881/