假设数据,
a <- c(10, 20, 30, 40, 50)
b <- c(100, 200, 300, 400, 500)
c <- c(1, 2, 3, 4, 5)
d <- c(5, 4, 3, 2, 1)
df <- data.frame(a, b, c, d)
df
a b c d
1 10 100 1 5
2 20 200 2 4
3 30 300 3 3
4 40 400 4 2
5 50 500 5 1
我希望对于每个交替的列求和,即
a+c
和b+d
等。该解决方案应易于适用或修改为其他情况,如对于每隔一列进行求和,即a+c
、b+d
、c+e
等。对于上述示例,解决方案应如下所示,> dfsum
aplusc bplusd
1 11 105
2 22 204
3 33 303
4 44 402
5 55 501
有没有更简单的方法?我已经知道如何进行顺序求和,例如 df [, c (T, F)] + df [, c (F, T)];
,但如何对每n列进行求和?除了rbase外,是否有任何整洁的解决方案可以解决这个问题?
reduce
函数,很高兴看到一个好的例子。 - small_lebowski