首页 > 解决方案 > R dplyr cumsum 每组

问题描述

我正在尝试使用 dplyr 获取数据集上的每组累积总和

iris %>%
    group_by(Species) %>%
    mutate(cum_sep_len = cumsum(Sepal.Length))

但是,总和实际上并不是由群体完成的,它只是所有物种的累积总和。知道我做错了什么吗?

标签: rdplyrcumsum

解决方案


这是您的数据的快速图,显示 cum_sep_len 的值实际上确实从0for each开始Species

cumsum_data <- iris %>%
  group_by(Species) %>%
  mutate(cum_sep_len = cumsum(Sepal.Length))

cumsum_data %>%
  ungroup() %>%
  mutate(row = row_number()) %>%
  ggplot(aes(x = row, y = cum_sep_len, color = Species)) +
  geom_point()

在此处输入图像描述


推荐阅读