使用之前计算的行值r续前2

时间:2015-10-29 09:53:30

标签: r lag

我有一个看起来像这样的data.table:

DT$R[1]<-tanh(DT$B[1]/400000)

我希望能够计算一个新列&#34; R&#34;第一个值为

DT$R[2] <- 0.5*tanh(DT$B[2]/400000) + DT$R[1]*0.6
DT$R[3] <- 0.5*tanh(DT$B[3]/400000) + DT$R[2]*0.6
DT$R[4] <- 0.5*tanh(DT$B[4]/400000) + DT$R[3]*0.6

,然后我想使用R列的第一行来帮助计算G的下一行值。

    A    B   C       R
1:  1   10   100     2.5e-05
2:  2   20   200     4e-05
3:  3   30   300     6.15e-05
4:  4   40   400     8.69e-05
5:  5   50   500     0.00011464
...
20: 20  200  2000    0.0005781274

这看起来有点像这样

{{1}}

对此有何想法?

1 个答案:

答案 0 :(得分:0)

这是你在找什么?

DT <- data.table(A=1:20, B=1:20*10, C=1:20*100)

DT$R = 0
DT$R[1]<-tanh(DT$B[1]/400000)


for(i in 2:nrow(DT)) {
  DT$R[i] <- 0.5*tanh(DT$B[i]/400000) + DT$R[i-1]*0.6
}