确定复杂的标题,但实际上很容易解释: - )
我有一个Matrix M:
M<-matrix(c(1,3,4,5,7,6,2, 2,5,1,3,4,7,6, 1,7,3,2,5,4,6),nrow=3,ncol=7, byrow=TRUE)
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 1 3 4 5 NA 6 2
[2,] 2 5 1 3 4 7 6
[3,] 1 7 3 2 5 4 NA
我有一个重量为W的矢量:
W<-c(0.4,0.2,0.15,0.1,0.07,0.05,0.02)
现在我想根据矩阵中的数字替换矩阵中的所有值,并在该相应位置使用向量中的值。所以我的结果矩阵(它需要是一个矩阵)应该是这样的:
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 0.4 0.15 0.1 0.07 NA 0.05 0.2
[2,] 0.2 0.07 0.4 0.15 0.1 0.02 0.05
[3,] 0.4 0.02 0.15 0.2 0.07 0.1 NA
但我不知道如何实现这一点。
M2<-W[M]
没有达到预期的效果......有什么建议吗?
答案 0 :(得分:3)
matrix(W[M], nrow=nrow(M))
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 0.4 0.15 0.10 0.07 NA 0.05 0.20
[2,] 0.2 0.07 0.40 0.15 0.10 0.02 0.05
[3,] 0.4 0.02 0.15 0.20 0.07 0.10 NA