【问题标题】:R - summarize one matrix by anotherR - 将一个矩阵汇总到另一个矩阵
【发布时间】:2012-06-17 18:05:13
【问题描述】:

我有两个矩阵。第一个包含值,第二个包含与这些值对应的名称。我想将第一个矩阵中的值与第二个矩阵中的相应名称相加。

例如,给定以下两个示例矩阵:

set.seed(9)
matrix_names=matrix(sample(paste("name",1:10,sep=""),replace=T),nrow=2,ncol=4); matrix_names
matrix_values=matrix(sample(1:10,8,replace=T),nrow=2,ncol=4); matrix_values

我想制作类似的东西:

matrix_names   sum(matrix_values)
  name1                1
  name2                6 
  name3               15  
  name4               15
  name5                5

感谢任何帮助。

【问题讨论】:

    标签: r matrix summary


    【解决方案1】:
    un <- unique(as.vector(matrix_names))
    df <- sapply(un, function(x) sum(matrix_values[which(matrix_names == x)]))
    df[order(names(df))]
    name1 name2 name3 name4 name5 
        1     6    15    15     5 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多