我想"遍历"data.table的行并计算每行的平均值.平均值应根据以下机制计算:
Data1所有行中的值的平均值j:ID(j) = ID(i)和T1(j) = T2(i)在第i行的Data2列中输入计算的平均值
DF = data.frame(ID=rep(c("a","b"),each=6),
T1=rep(1:2,each=3), T2=c(1,2,3), Data1=c(1:12))
DT = data.table(DF)
DT[ , Data2:=NA_real_]
ID T1 T2 Data1 Data2
[1,] a 1 1 1 NA
[2,] a 1 2 2 NA
[3,] a 1 3 3 NA
[4,] a 2 1 4 NA
[5,] a 2 2 5 NA
[6,] a 2 3 6 NA
[7,] b 1 1 7 NA
[8,] b 1 2 8 …Run Code Online (Sandbox Code Playgroud)我想在data.table中添加一个新列,其中包含Data1基于的累积产品Date.应为每个类别(Cat)计算累积产品,并应从最新的可用产品开始Date.
样本数据:
DF = data.frame(Cat=rep(c("A","B"),each=4), Date=rep(c("01-08-2013","01-07-2013","01-04-2013","01-03-2013"),2), Data1=c(1:8))
DF$Date = as.Date(DF$Date , "%m-%d-%Y")
DT = data.table(DF)
DT[ , Data1_cum:=NA_real_]
DT
Cat Date Data1 Data1_cum
1: A 2013-01-08 1 NA
2: A 2013-01-07 2 NA
3: A 2013-01-04 3 NA
4: A 2013-01-03 4 NA
5: B 2013-01-08 5 NA
6: B 2013-01-07 6 NA
7: B 2013-01-04 7 NA
8: B 2013-01-03 8 NA
Run Code Online (Sandbox Code Playgroud)
结果应如下所示:
Cat Date Data1 Data1_cum
1: A 2013-01-08 1 …Run Code Online (Sandbox Code Playgroud)