【问题标题】:sum specific columns among rows对行中的特定列求和
【发布时间】:2014-06-03 20:27:40
【问题描述】:

我需要对每两列求和 例如

x1  x2  x3  x4
12  2   3   7
1   4   6   5

我需要

X1     X2
14     10
5      11

我尝试了应用功能 我试过这个功能 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]
}}

【问题讨论】:

标签: r sum


【解决方案1】:

这个问题的概括(对于data.frame)可能是这样的:

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

%/% 2 中的“2”替换为您想要“聚合”的列集数。

【讨论】:

    【解决方案2】:

    例如:

     mat[,c(TRUE,FALSE)]+mat[,c(FALSE,TRUE)]
    
      x1 x3
    1 14 10
    2  5 11
    

    【讨论】:

      【解决方案3】:
      id <- 1:ncol(mat)
      mat[ , id[id%%2!=0] ] + mat[ , id[id%%2==0] ]
           x1 x3
      [1,] 14 10
      [2,]  5 11
      

      【讨论】:

        猜你喜欢
        • 2014-03-18
        • 1970-01-01
        • 1970-01-01
        • 2017-09-05
        • 1970-01-01
        • 1970-01-01
        • 2021-05-22
        • 2017-12-13
        • 2022-06-20
        相关资源
        最近更新 更多