R dplyr cumsum на группу - PullRequest
       32

R dplyr cumsum на группу

1 голос
/ 13 января 2020

Я пытаюсь получить кумулятивную сумму на группу в наборе данных с помощью dplyr, используя

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

Однако на самом деле сумма не делается группами, это всего лишь кумулятивная сумма всех видов. Есть идеи, что я делаю не так?

1 Ответ

1 голос
/ 14 января 2020

Вот краткий график ваших данных, показывающий, что значение cum_sep_len фактически начинается с 0 для каждого 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()

enter image description here

...