【问题标题】:Using summarize_all and summarize together in dplyr在 dplyr 中使用 summarise_all 并一起汇总
【发布时间】:2018-09-24 00:11:42
【问题描述】:

有没有办法将summarize_all 和summary 语句组合在一个dplyr 链中?像这样的:

library(dplyr)

data(mtcars)

mtcars %>%
  group_by(cyl) %>%
  summarize_all(funs(mean(., na.rm=TRUE))) %>%
  summarize(n = n())

但这当然行不通,因为它试图总结一个摘要。

预期结果是按 cyl 分组的单个 data.frame,每列按平均值汇总,观察计数按 cyl。我可以通过使用 bind_cols 组合两个单独的摘要语句来做到这一点,但是有更好的方法吗?

谢谢

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    我想我们可以在这里使用add_count

    library(dplyr)
    
    mtcars %>% 
      add_count(cyl) %>% 
      group_by(cyl, n) %>% 
      summarise_all(.funs = mean, na.rm = TRUE)
    
    # 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 2019-01-27
      • 1970-01-01
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多