求和 R 中两个不同列中的值

Summing values in two different columns in R

我有一个数据集,我希望在其中对第 n 列中的每个值及其在第 (n+(ncol/2) 列中的对应值求和);即,对于具有 22 列的数据集,我可以将第 1 列第 1 行中的值与第 12 行第 1 行中的值相加,并重复此操作,直到第 11 列与第 22 列相加。该解决方案需要适用于数百行.

如何在忽略列名的情况下使用 R 执行此操作?

假设你的数据是

d <- setNames(as.data.frame(matrix(rnorm(100 * 22), nc = 22)), LETTERS[1:22])

您可以使用数字对 select 列进行简单的矩阵加法:

output <- d[, 1:11] + d[, 12:22]

所以,例如

all.equal(output[,1], d[,1] + d[,12])
# [1] TRUE