【问题标题】:Average for column value across multiple datasets in R [duplicate]R中多个数据集的列值平均值[重复]
【发布时间】:2016-10-09 17:55:24
【问题描述】:

我是 R 新手,我需要这方面的帮助。我有来自 3 个不同年份的 3 个数据集。它们具有相同的列,每年具有不同的值。我想根据名称字段找到三年内列值的平均值。具体来说:

假设:第一个数据集

Name Age Height Weight
A     4    20     20
B     5    22     22
C     8    25     21
D     10   25     23

第二个数据集

Name Age Height Weight
A     5    22     25
B     6    23     26

第三个数据集

Name Age Height Weight
A     6    24     24
B     7    24     27
C     10   27     28

我想在三个数据集中找到“A”的平均高度

【问题讨论】:

    标签: r


    【解决方案1】:

    我们可以将它们放在listrbind 中,按“名称”分组并获取每列的mean

    library(data.table)
    rbindlist(list(df1, df2, df3))[, lapply(.SD, mean), by = Name]
    

    或者dplyr

    bind_rows(df1, df2, df3) %>%
              group_by(Name) %>%   
              summarise_each(funs(mean))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 2015-11-02
      • 2020-12-26
      • 2021-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多