【问题标题】:Mean of Means - How to aggregate means of different sample sizes均值 - 如何聚合不同样本大小的均值
【发布时间】:2017-11-02 22:29:49
【问题描述】:

我如何考虑取几个不同平均值的平均值?

这是一些数据:

library(dplyr)
month <- c("January", "January","January", "February", "March", "April", "April", "May", "June", "July")
year <- c(2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014)
v1 <- c(0, 1, 0, 1, 0, 0, 1, 0, 1, 1)
df <- data.frame(month, year, v1)

如您所见,我在不同月份有不同的样本量。一月的样本量为 3,四月的样本量为 2,以此类推

我可以取他们每个人的平均值,每个月取一个平均值:

 df %>% group_by(year, month) %>% summarize_all(mean) 

但是,我如何获得 2014 年的正确平均值,因为我有几个月的平均值,其中每个月的平均值都有不同的样本量?

【问题讨论】:

  • 这是一个统计问题吗?你只是group_by(year) 假设每一行都是一个样本,因为它出现在你的数据中。或者,您可以使用weighted.mean()
  • 是的,我想这是一个统计问题。鉴于每月平均值是用不同的样本量创建的,我不确定它是否需要任何加权。
  • 通过在交叉验证上发帖,您更有可能获得有关统计问题的帮助:stats.stackexchange.com

标签: r math mean


【解决方案1】:

两种平均方法都给你相同的值:

这里只是取年平均值:

df %>% group_by(year) %>% 
  summarise(year_avg = mean(v1))

与每个月有不同样本的月平均值进行比较:

df %>% group_by(year, month) %>% 
  summarise(month_avg = mean(v1), samples = n()) %>%
  summarise(year_avg = weighted.mean(month_avg, samples))

【讨论】:

    【解决方案2】:

    没有代表发表评论。您的问题不清楚,您要计算什么?您想要平均平均值吗?

    鉴于某些月份缺乏数据,我想知道计算每个月的平均值是否合适。如果您只想要 2014 年的直接平均值,则无需分组为月份,您只需计算样本平均值即可。

    【讨论】:

    • 我有不同数量的每日二元观测值,我通过取平均值将它们聚合成月度数据。但是,我不仅对查看每个月的平均值感兴趣,而且对一年的平均值也很感兴趣。我现在明白你的意思了,我可以只从未汇总的数据中取平均值,而不是尝试取为每月水平计算的几个平均值的平均值。
    猜你喜欢
    • 2023-04-03
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 2023-03-15
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多