首页 > 解决方案 > 如何根据 R 中的某些条件和总和值对多行进行分组?

问题描述


数据快照


大家好,示例:-以上是我拥有的数据。我想将 1-2 岁分组并计算值。在此数据中,年龄组 1-2 的值为 4。同样,我想将 3-4 岁分组并计算这些值。这里年龄组 3-4 的值为 6。

如何对年龄进行分组并汇总与其对应的值?

我知道这样:代码-

data.frame(df %>% group_by(df$Age) %>% tally())

但是这些值是按个人年龄汇总的。我希望聚合多个年龄的值是一个组,如上所述的例子。

对此的任何帮助都将非常有帮助。非常感谢所有人。

标签: r

解决方案


这是使用基础 Rdplyr的一种方法 -?cut

df <- data.frame(age = c(1,1,2,2,3,3,3,4,4,4),
                 Name = letters[1:10],
                 stringsAsFactors = F)

df %>% 
  count(grp = cut(age, breaks = c(0,2,4)))

# A tibble: 2 x 2
  grp       n
  <fct> <int>
1 (0,2]     4
2 (2,4]     6

推荐阅读