2
は、私が構築され、簡単なシナリオです:前の行の値を使用するR data.frameの変数をうまく計算するにはどうすればよいですか?ここ
は、私は次のことを持っていると言う:
set.seed(1)
id<-sample(3,10,replace = TRUE)
n<-1:10
x<-round(runif(10,30,40))
df<-data.frame(id,n,x)
df
id n x
1 1 1 32
2 2 2 32
3 2 3 37
4 3 4 34
5 1 5 38
6 3 6 35
7 3 7 37
8 2 8 40
9 2 9 34
10 1 10 38
x.lagは、同じIDまたは0の場合のために、以前のxここでどのように私はエレガントx.lagを計算します以前の値は存在しません。
これは私がやったことですが、私はそれに満足していないよ:
df$x.lag<-rep(0,10)
for (id in 1:3)
df[df$id==id,]$x.lag<-c(0,df[df$id==id,]$x)[1:sum(df$id==id)]
df
id n x x.lag
1 1 1 32 0
2 2 2 32 0
3 2 3 37 32
4 3 4 34 0
5 1 5 38 32
6 3 6 35 34
7 3 7 37 35
8 2 8 40 37
9 2 9 34 40
10 1 10 38 38
ええから
ave
使用して、あなたは秒で私を打つ:) – neilfws私はみんな@neilfwsあなたの嫉妬しています - 1は私があったことのように感じる禅 – user1172468
のこのレベルに達していませんか私の一日を作ってくれてありがとうございました – user1172468