2

私は2つのマトリックスを持っています。1 番目には値が含まれ、2 番目にはそれらの値に対応する名前が含まれます。最初のマトリックスの値を、2 番目のマトリックスの対応する名前で合計したいと思います。

たとえば、次の 2 つの例の行列があるとします。

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

どんな助けでも大歓迎です。

4

1 に答える 1

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 
于 2012-06-17T18:31:23.193 に答える