【问题标题】:dplyr aggregate: average all columns [duplicate]dplyr 聚合:平均所有列 [重复]
【发布时间】:2018-07-30 06:50:00
【问题描述】:

假设我有以下数据框:

df <- data.frame(Day=c(1,1,2,2), Temp=c(30,20,10,50), Humidity=c(0.5,0.2,0.1,0.5))

  Day Temp Humidity
1   1   30      0.5
2   1   20      0.2
3   2   10      0.1
4   2   50      0.5

仅使用基本包,我将通过以下方式计算每天的平均值:

aggregate(. ~ Day, df, mean)

得到:

  Day Temp Humidity
1   1   25     0.35
2   2   30     0.30

但我想使用 tidyverse。我知道,我也可以这样做:

df %>% group_by(Day) %>% summarise(Temp=mean(Temp), Humidity=mean(Humidity))

但是有没有办法说,我想要 每个 列的平均值。我想在有几十列的情况下使用它。

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    summarise_all 这样做:

    df %>%
        group_by(Day) %>%
        summarise_all(mean)
    

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 1970-01-01
      • 2017-03-21
      • 2019-02-04
      • 2018-09-28
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 2021-11-07
      相关资源
      最近更新 更多