有没有办法在dplyr链中将summarize_all和summaryrize语句组合在一起?像这样的东西:
library(dplyr)
data(mtcars)
mtcars %>%
group_by(cyl) %>%
summarize_all(funs(mean(., na.rm=TRUE))) %>%
summarize(n = n())
Run Code Online (Sandbox Code Playgroud)
但当然这不起作用,因为它试图总结一个总结.
预期结果是单个data.frame由cyl分组,每列按平均值汇总,以及由cyl观察的计数.我可以通过使用bind_cols组合两个单独的摘要语句来做到这一点,但有更好的方法吗?
谢谢
我想我们可以add_count在这里使用:
library(dplyr)
mtcars %>%
add_count(cyl) %>%
group_by(cyl, n) %>%
summarise_all(.funs = mean, na.rm = TRUE)
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)# A tibble: 3 x 12 # Groups: cyl [?] cyl n mpg disp hp drat wt qsec vs am gear carb <dbl> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 1 4. 11 26.7 105. 82.6 4.07 2.29 19.1 0.909 0.727 4.09 1.55 2 6. 7 19.7 183. 122. 3.59 3.12 18.0 0.571 0.429 3.86 3.43 3 8. 14 15.1 353. 209. 3.23 4.00 16.8 0. 0.143 3.29 3.50