r - 匹配矩阵元素

标签 r matrix matching

我有以下事情要处理。我有两个矩阵

a b c
b d d
a d b

1 2 3
4 5 6
7 8 9

我需要能够从第二个矩阵中确定指定的均值,如下所示:

  • a 与 1 和 7 匹配(给出平均值为 4)
  • b 与 2、4 和 9 匹配(给出平均值为 5)
  • c 与 3 匹配(均值为 1)
  • d 与 5、6 和 8 匹配(均值为 6.33)

现在这两个矩阵相当简单,我必须使用的矩阵在 100 x 100 左右。

欢迎任何想法

谢谢

最佳答案

你可以在这里使用一个简单的tapply。例如

#sample input
m1<-matrix(letters[c(1,2,1,2,4,4,3,4,2)], ncol=3)
m2<-matrix(1:9, byrow=T, ncol=3)

tapply(m2, m1, mean)
#        a        b        c        d 
# 4.000000 5.000000 3.000000 6.333333 

只要尺寸完全匹配,它们在矩阵中的事实并不重要。

关于r - 匹配矩阵元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25049294/

相关文章:

regex - 正则表达式匹配所有货币符号?

c++ - 迭代最大匹配

r - 如果组具有特定值(查看前一个值),则保留组的行

r - 参数 C. epsilon 作为 R 中 kernlab 的 ksvm 中的向量

sql-server - RODBC和Microsoft SQL Server : Truncating Long Character Strings

algorithm - 选择最佳的元素配对

c++ - 字符串模式匹配和插入C++

c++ - 墨西哥 : error: invalid conversion from ‘void*’ to ‘double*’ [-fpermissive]

c - 从 C 文本文件中读取矩阵

python - 仅使用 numpy 和 pandas 计算转换矩阵中每个单词的频率