1
是否有一種方法使用dplyr
進行彙總,然後採用group_by()
然後採用全局平均值,然後將其添加到同一個數據幀而不必創建第二個數據幀?group_by和單個dplyr管道內的全局平均值
現在我是這樣做的:
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)
一個潛在的陷阱,這裏是我想不來的平均值,而是一個全球性的平均值或兩者的至少選項。那麼有沒有更好的方法來做到這一點希望所有在一個管道?
嘗試'虹膜%>%選擇(Petal.Width,物種)%>%bind_rows(,data.frame(Petal.Width =平均值(。$ Petal.Width),Species =「所有種類」))%>%group_by(Species)%>%summarize(mpw = mean(Petal.Width))' – akrun
您可以在第二個參數中擴展speciesiris變量聲明:'iris%>%summary(mpw = mean(Petal.Width))%> mutate(Species =「All Species」)%>%bind_rows(iris%>%group_by(Species)%>%summarize(mpw = mean(Petal.Width)))' – fishtank
@fishtank哇管道內的管道。我從來沒有考慮過這樣的事情。有一些失敗的目的,使dplyr管道更具可讀性的代碼,但它當然有效。你想讓這個答案能讓我接受嗎? – boshek