我有一个包含以下内容的数组:
> head(MEAN)
1901DJF 1901JJA 1901MAM 1901SON 1902DJF 1902JJA
-0.45451556 -0.72922229 -0.17669396 -1.12095590 -0.86523850 -0.04031273
这应该是一个从 1901 年到 2009 年具有季节性平均值的时间序列。问题是生成的列标题是严格按字母顺序排列的。然而,就季节而言,这并没有多大意义,例如,JJA(6、7、8 月)领先 MAM(3、4、5 月)。
如何切换阵列的每个 MAM 和 JJA 条目?
PS:MEAN是在data.frame pdsi上应用tapply生成的
> head(pdsi)
date scPDSI month seas seasyear
1 1901-01-01 -0.10881074 Jan DJF 1901DJF
2 1901-02-01 -0.22287750 Feb DJF 1901DJF
3 1901-03-01 -0.12233192 Mär MAM 1901MAM
4 1901-04-01 -0.04440915 Apr MAM 1901MAM
5 1901-05-01 -0.36334082 Mai MAM 1901MAM
6 1901-06-01 -0.52079030 Jun JJA 1901JJA
>
> MEAN <- tapply(pdsi$scPDSI, ts.pdsi$seasyear, mean, na.rm = T)
可能还有一种更优雅的方法来计算季节性平均值......