I need to sum every two columns for example
x1 x2 x3 x4
12 2 3 7
1 4 6 5
I need
X1 X2
14 10
5 11
I tried apply function and I tried this function mat is a matrix
mat1=matrix()
for(i in 1:nrow(mat)){
for(j in 1:ncol(mat)){
mat1[i,j]=mat[j,i]+mat[j,i+1]
}}
A generalization of this problem (for a data.frame) might be something like:
sapply(split.default(mydf, 0:(length(mydf)-1) %/% 2), rowSums)
# 0 1
# [1,] 14 10
# [2,] 5 11
Replace the "2" in %/% 2 with the number of sets of columns you would like to "aggregate".
For example:
mat[,c(TRUE,FALSE)]+mat[,c(FALSE,TRUE)]
x1 x3
1 14 10
2 5 11
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With