如何在R的数据框中计算时间序列的多个平均值?

时间:2018-11-07 10:07:06

标签: r

我对R很陌生,并在以下问题上苦苦挣扎:

        Country.Name variable Quantity
    1         World     1977  2524966
    2         World     1978  2552326
    3         World     1979  2710504
    4         World     1980  2732926
    5         World     1981  2636113
    6         World     1982  2803907
    7         World     1983  2778356
    8         World     1984  2693296
    9         World     1985  2695397
    10        World     1986  2747397
    (...)
    30        World     2006  3100186

对于df $ Quantity(数值),我想计算两个单独的均值,从(1)1977年至1991年和从(2)1992年至2006年。进一步的搜索并不能帮助我解决该问题,所以我想很高兴听到有人能帮助我解决这个问题!

最好, 詹尼斯

1 个答案:

答案 0 :(得分:1)

这是基本的R选项:

aggregate(df$Quantity,
    by=list(ifelse(df$variable >= 1977 & df$variable <= 1991, 0, 1)),
    FUN=mean)

此行将1977年至1991年(包括两端)的行存储为零存储桶,所有其他年份存储为1个存储桶。然后,aggregate找到属于这两个存储桶的所有行的均值。