Я ожидал, что приведенный ниже код выведет фрейм данных с тремя строками, каждая строка представляет совокупное среднее значение миль на галлон после вычисления среднего значения для каждой группы cyl
:
library(dplyr)
mtcars %>%
arrange(cyl) %>%
group_by(cyl) %>%
summarise(running.mean.mpg = cummean(mpg))
Вот чего я ожидал:
mean_cyl_4 <- mtcars %>%
filter(cyl == 4) %>%
summarise(mean(mpg))
mean_cyldplyr
6 <- mtcars %>%
filter(cyl == 4 | cyl == 6) %>%
summarise(mean(mpg))
mean_cyldplyr
6_8 <- mtcars %>%
filter(cyl == 4 | cyl == 6 | cyl == 8) %>%
summarise(mean(mpg))
data.frame(cyl = c(4,6,8), running.mean.mpg = c(mean_cyl_4[1,1], mean_cyldplyr
6[1,1], mean_cyldplyr
6_8[1,1]))
cyl running.mean.mpg
1 4 26.66364
2 6 23.97222
3 8 20.09062
Почему dplyr
игнорирует group_by(cyl)
?