我有两个矩阵m1和m2:
m1 <- matrix(c(1,2, 0,2, 1,1), ncol=3, nrow=2)
m2 <- matrix(c(1,1,1, 3,3,3), ncol=2, nrow=3)
乘法结果:
m3 <- (m1%*%m2)
[,1] [,2]
[1,] 2 6
[2,] 5 15
现在,我不想给矩阵m3中的总和,而是希望R给我相应的乘法过程的MAX值,例如:
for MAX[1,1]=(1+0+1)=1
for MAX[1,2]=(3+0+3)=3
for MAX[2,1]=(2+2+1)=2
for MAX[2,2]=(6+6+3)=6
我要生成以下矩阵:
[,1] [,2]
[1,] 1 3
[2,] 2 6
如何实现?
答案 0 :(得分:0)
您可以自己循环播放,例如
out <- sapply(1:nrow(m1), function(i) {
sapply(1:ncol(m2), function(j){
max(m1[i, ] * m2[, j])
})
})
t(out)
[,1] [,2]
[1,] 1 3
[2,] 2 6