求和 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
我有一个数据集,我希望在其中对第 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