【发布时间】:2019-12-05 14:19:24
【问题描述】:
我试图从我的第一个值大于零的列开始,准确地总结四个相邻列中的值。 IE。当 x1 列中的值为 0 且 x2 中的值为 1 时,我想要 x2、x3、x4、x5 的总和。让我们假设以下示例:
df<- data.frame(x1=c(1,0,0), x2=c(0,3,0), x3=c(1,2,2), x4=c(3,4,4), x5=c(3,3,3), x6=c(3,4,5))
x1 x2 x3 x4 x5 x6
1 0 1 3 3 3
0 3 2 4 3 4
0 0 2 4 3 5
在第一行中,总和应该从第一个值开始,因为这是该行中第一个大于零的值。那么它应该取四个连续的列,所以 x1+x2+x3+x4。在第二行,总和应该从第二个值开始,所以总和是 x2+x3+x4+x5。在第三行,总和应该从 x3 开始,导致 x3+x4+x5+x6。
所以我想在最后得到一个包含四个连续总和的列:
x1 x2 x3 x4 x5 x6 Sum
1 0 1 3 3 3 5
0 3 2 4 3 4 12
0 0 2 4 3 5 14
由于我有近 40 列和 300 行,我真的很感激能以优雅的方式来做这件事。
非常感谢!
【问题讨论】: