R 和 dplyr : group by value ranges

标签 r dplyr

大家好,我有一个这样的数据框:

    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/

相关文章:

r - 使用 Mann Whitney 创建 p 值列表

c++ - 这些 .tmp 文件从何而来?

r - 将鼠标悬停在 R 中时获取点的名称

r - 为什么同一个查询使用 dplyr 在不同的 R session 上返回不同的结果?

r - 绘制与回归线的偏差

r - 如何从嵌套列表中提取一个元素作为向量 - R twitteR 包

r - 具有分组依据和分面的堆积条形图

r - R中将多列切割成大致相等的有序组的函数

r - 如何在数据帧列表中执行 mutate_all 以删除坏数据

r - 根据 dplyr 中的正则表达式匹配从长到宽的突变