对矩阵对象应用不同的滞后

时间:2013-04-24 14:21:28

标签: r

我有一个24个时间序列的矩阵,如下所示:

                    Ta.f Ta.f Ta.f Ta.f
1995-10-13 04:00:00 13.6 13.6 13.6 13.6
1995-10-13 05:00:00 13.6 13.6 13.6 13.6
1995-10-13 06:00:00 13.6 13.6 13.6 13.6
1995-10-13 07:00:00 13.5 13.5 13.5 13.5
1995-10-13 08:00:00 13.5 13.5 13.5 13.5

我想根据列的索引使用apply()函数对每一列进行区分。因此第1列需要diff(x,),第2列需要diff(x,lag = 2),依此类推。我所做的是:

trans_temp <- apply(temp_mat,MARGIN=2,diff)

返回一个矩阵,其中所有时间序列都有差异一次。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

试试这个:

trans_temp <- lapply(seq(ncol(temp_mat)), function(z) diff(temp_mat[,z], lag=z))

请注意,diff s的各个向量由于滞后不同而具有不同的长度。