Use previous calculated row value in r Continued 2
我有一个数据表,看起来像这样:
1 2 3 4 5 6 7 8 9 10 11 | library(data.table) DT <- data.table(A=1:20, B=1:20*10, C=1:20*100) DT A B C 1: 1 10 100 2: 2 20 200 3: 3 30 300 4: 4 40 400 5: 5 50 500 ... 20: 20 200 2000 |
我希望能够计算一个新列" R",其第一个值为
1 | DT$R[1]<-tanh(DT$B[1]/400000) |
,然后我想使用列R的第一行来帮助计算G的下一行。
1 2 3 | 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 |
这将看起来像这样
1 2 3 4 5 6 7 8 | 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 2 3 4 5 6 7 8 9 | 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 } |