我有一个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)
返回一个矩阵,其中所有时间序列都有差异一次。有什么建议吗?
答案 0 :(得分:3)
试试这个:
trans_temp <- lapply(seq(ncol(temp_mat)), function(z) diff(temp_mat[,z], lag=z))
请注意,diff
s的各个向量由于滞后不同而具有不同的长度。