我有两个矩阵。第一个包含值,第二个包含与这些值对应的名称。我想用第二个矩阵中的相应名称对第一个矩阵中的值求和。
例如,给出以下两个示例矩阵:
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
感谢任何帮助。
答案 0 :(得分:3)
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