是否有办法使用dplyr
汇总使用group_by()
然后采用全局均值,然后将其添加到同一数据框而无需创建第二个数据帧?
现在我这样做:
library(dplyr)
speciesiris <- iris %>%
group_by(Species) %>%
summarise(mpw=mean(Petal.Width))
iris %>%
summarise(mpw=mean(Petal.Width)) %>%
mutate(Species="All Species") %>%
bind_rows(speciesiris)
这里的一个潜在缺陷是,我不想要手段的平均值,而是全局手段,或者至少是两者的选择。那么有一种更好的方法可以在一个管道中做到这一点吗?
答案 0 :(得分:2)
一条线做任何事情(但不推荐):
iris %>% summarise(mpw=mean(Petal.Width)) # Global mean
%>% mutate(Species="All Species")
%>% bind_rows(
iris %>% group_by(Species) # Mean by Species
%>% summarise(mpw=mean(Petal.Width))
)