【发布时间】:2017-12-26 04:03:28
【问题描述】:
我正在尝试根据另一列的计算值计算一列中的值。
DT <- data.table(X = c("a","a","a", "b","b","b", "c","c","c"),
Y = rep(c(1,2,3),3),
z1 = c(10, 11,12),
z2 = c(1,2,3))
在 DT 中,我想计算一个新列 Z,它是每个 X 的第一行的 z1 和 z2 的总和。下一行计算应该从先前计算的 Z + 当前行 z2 对“a”的所有行进行”。 “b”、“c”也是如此。
我确实尝试了“for”循环,但没有成功。
最终结果如下所示。
X Y z1 z2 Z
a 1 10 1 11
a 2 11 1 12
a 3 12 1 13
b 1 10 2 12
b 2 11 2 14
b 3 12 2 16
c 1 10 3 13
c 2 11 3 16
c 3 12 3 19
【问题讨论】:
-
NB 我认为您的数据应该是
z2 = rep(c(1,2,3), each =3)以匹配您的演示答案
标签: r dataframe data.table