Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用r续2中先前计算的行值_R_Lag - Fatal编程技术网

使用r续2中先前计算的行值

使用r续2中先前计算的行值,r,lag,R,Lag,我有一个data.table,如下所示: 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 对此有什么想法吗?这就是你想要的吗 DT <- data.table(A=1:20,

我有一个data.table,如下所示:

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

对此有什么想法吗?

这就是你想要的吗

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
}

DT这正是我需要的!非常感谢@KhalidN您确实意识到这里没有使用
data.table
功能。您一直使用
数据.table
标记问题,但查找非
数据.table
解决方案。
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
    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
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
}