0

我有一个包含 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)

它返回一个矩阵,其中所有时间序列都相差一次。有什么推荐吗?

4

1 回答 1

3

尝试这个:

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

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

于 2013-04-24T14:26:16.573 回答