0

重複の可能性:
R ベクトル/データフレームの基本的なラグ

R で変数を遅延させようとしていますが、機能していません。

x<-1:10
y=lag(x,1)
xy=cbind(x,y)
View(xy)

    x   y
1   1   1
2   2   2
3   3   3
4   4   4
5   5   5
6   6   6
7   7   7
8   8   8
9   9   9
10  10  10

私はまだ遅れを得ていません。私は何を間違っていますか?また、cbind/rbind を使用せずにベクトル/行列に結合するより迅速な方法はありますか? 例えば

x=0:10
y=20:30
newxy=[x,y]

ありがとうございました!

4

3 に答える 3

2

embedts特にオブジェクトに変換したくない場合は、ここで便利な関数です。

x <- 1:10
embed(x,2)


     [,1] [,2]
 [1,]    2    1
 [2,]    3    2
 [3,]    4    3
 [4,]    5    4
 [5,]    6    5
 [6,]    7    6
 [7,]    8    7
 [8,]    9    8
 [9,]   10    9
于 2012-12-14T04:09:53.073 に答える
2

lag()時系列を期待します。(R では、クラス "ts" は基本的な時系列クラスであり、等間隔の時点でサンプリングされたデータを表すために使用されます。詳細については、を参照してください?ts。) したがって、ここで示すように x を時系列に変換するか、別の回答で提案されているアプローチのいずれかを使用してください。

x <- as.ts(1:10)
y <- lag(x,1)
xy <- cbind(x,y)
xy
#Time Series:
#Start = 0 
#End = 10 
#Frequency = 1 
#    x  y
# 0 NA  1
# 1  1  2
# 2  2  3
# 3  3  4
# 4  4  5
# 5  5  6
# 6  6  7
# 7  7  8
# 8  8  9
# 9  9 10
#10 10 NA
于 2012-12-14T04:08:07.087 に答える
2

2 番目の部分:

newxy=matrix(c(x,y),ncol=2)

> newxy
      [,1] [,2]
 [1,]    0   20
 [2,]    1   21
 [3,]    2   22
 [4,]    3   23
 [5,]    4   24
 [6,]    5   25
 [7,]    6   26
 [8,]    7   27
 [9,]    8   28
[10,]    9   29
[11,]   10   30
于 2012-12-14T04:08:49.127 に答える