我有以下事情要处理。我有两个矩阵
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/