对行之间的特定列求和

use*_*697 3 r sum

例如,我需要对每两列进行求和

x1  x2  x3  x4
12  2   3   7
1   4   6   5
Run Code Online (Sandbox Code Playgroud)

我需要

X1     X2
14     10
5      11
Run Code Online (Sandbox Code Playgroud)

我试过应用函数,我试过这个函数mat是一个矩阵

mat1=matrix()

for(i in 1:nrow(mat)){
for(j in 1:ncol(mat)){
mat1[i,j]=mat[j,i]+mat[j,i+1]
}}
Run Code Online (Sandbox Code Playgroud)

A5C*_*2T1 8

这个问题的一般化(对于a data.frame)可能是这样的:

sapply(split.default(mydf, 0:(length(mydf)-1) %/% 2), rowSums)
#       0  1
# [1,] 14 10
# [2,]  5 11
Run Code Online (Sandbox Code Playgroud)

将"2"替换为%/% 2您想要"聚合"的列数.