我对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年。进一步的搜索并不能帮助我解决该问题,所以我想很高兴听到有人能帮助我解决这个问题!
最好, 詹尼斯
答案 0 :(得分:1)
这是基本的R选项:
aggregate(df$Quantity,
by=list(ifelse(df$variable >= 1977 & df$variable <= 1991, 0, 1)),
FUN=mean)
此行将1977年至1991年(包括两端)的行存储为零存储桶,所有其他年份存储为1个存储桶。然后,aggregate
找到属于这两个存储桶的所有行的均值。