を私はlag
機能を理解したことがありません、代わりに私がquantmod
パッケージからLag
を使用したいです:
> # library(quantmod)
> apply(B, 2, Lag)
[,1] [,2]
[1,] NA NA
[2,] 2 1
[3,] 4 5
ts
属性を持たないマトリクスをquantmodパッケージのapply
とLag
で使用することができますが、ただ1つの関数用にパッケージをインストールしたくない場合は、独自の関数を記述することができます。アイデアは、このようになります:
lag.matrix <- function(x, k=1){
N <- ncol(B)
l <- matrix(embed(x,k+1)[, -c(1:(k*N))], ncol=N)
NAs <- matrix(rep(NA, k*N), ncol=N)
rbind(NAs, l)
}
> lag.matrix(B, k=1)
[,1] [,2]
[1,] NA NA
[2,] 2 1
[3,] 4 5
> lag.matrix(B, k=2)
[,1] [,2]
[1,] NA NA
[2,] NA NA
[3,] 2 1
別soluctionは、あなたが望むようlag
を使用しています@GSeeすることにより、コメントとして投稿1である可能性があります。
> lag(xts(B, .POSIXct(0)+0:(nrow(B)-1)))
[,1] [,2]
1970-01-01 01:00:00 NA NA
1970-01-01 01:00:01 2 1
1970-01-01 01:00:02 4 5
も参照してください:http://r.789695.n4.nabble.com/Odd-results-with-lag-td3434712.html – harkmug