【发布时间】:2016-11-07 20:20:33
【问题描述】:
我有一个每月的时间序列,应该转换成一个矩阵。 (6 年,但最后 4 个月不见了!)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1 62.17416 66.34748 69.58154 64.92033 70.51246 70.83153 74.19475 72.29366 77.97062 71.37903 67.08182 69.10599
2 59.41197 61.44036 68.97711 72.43558 69.92715 74.20776 79.19150 71.48650 77.56661 67.44390 67.05218 66.43690
3 58.79278 63.26696 70.97837 71.79423 72.04037 71.61184 72.64526 70.38479 72.43492 64.42046 66.87742 66.31345
4 58.06906 60.35554 70.91920 65.76937 68.85464 68.77921 70.09373 66.03685 71.38322 66.42558 67.62292 70.25223
5 60.59774 64.66411 73.27853 73.11031 73.57735 73.77766 78.45258 74.64698 79.07911 75.84108 75.82478 79.42484
6 69.30907 70.80211 78.38037 77.63537 79.67396 80.15397 80.45571 76.67389
时间序列的最后一年缺少一些值。 转换为矩阵时,该函数使用时间序列中的第一个值替换缺失值。
> matrix(xx,nrow=6,ncol=12,byrow = TRUE)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,] 62.17416 66.34748 69.58154 64.92033 70.51246 70.83153 74.19475 72.29366 77.97062 71.37903 67.08182 69.10599
[2,] 59.41197 61.44036 68.97711 72.43558 69.92715 74.20776 79.19150 71.48650 77.56661 67.44390 67.05218 66.43690
[3,] 58.79278 63.26696 70.97837 71.79423 72.04037 71.61184 72.64526 70.38479 72.43492 64.42046 66.87742 66.31345
[4,] 58.06906 60.35554 70.91920 65.76937 68.85464 68.77921 70.09373 66.03685 71.38322 66.42558 67.62292 70.25223
[5,] 60.59774 64.66411 73.27853 73.11031 73.57735 73.77766 78.45258 74.64698 79.07911 75.84108 75.82478 79.42484
[6,] 69.30907 70.80211 78.38037 77.63537 79.67396 80.15397 80.45571 76.67389 62.17416 66.34748 69.58154 64.92033
如何避免这种情况或将最后的值替换为“NA”?
【问题讨论】:
-
matrix(c(xx, rep(NA, 4)), nrow = 6, ncol = 12, byrow = TRUE)? -
@nrussell 是的(y)谢谢!
标签: r matrix time-series