我想计算具有多个站点的时间序列上的每月温度异常。我在这里称“异常”为单个值与按周期计算的平均值的差异。
我的数据框看起来像这样(我们称之为“数据”):
Station Year Month Temp
A 1950 1 15.6
A 1980 1 12.3
A 1990 2 11.4
A 1950 1 15.6
B 1970 1 12.3
B 1977 2 11.4
B 1977 4 18.6
B 1980 1 12.3
B 1990 11 7.4
首先,我做了一个包含 1980 年到 1990 年的子集:
data2 <- subset(data, Year>=1980& Year<=1990)
其次,我使用 plyr 计算了每个站点在 1980 年到 1990 年之间的月平均值(我们称之为“MeanBase”):
data3 <- ddply(data2, .(Station, Month), summarise,
MeanBase = mean(Temp, na.rm=TRUE))
现在,我想计算每一行数据,对应的 MeanBase 和 Temp 的值之间的差异......但我不确定是正确的方式(我不知道如何使用数据3)。