比较两个矩阵(A和B)并输出一个新的矩阵C,其中cij = min(aij,bij)

标题相当清楚,但我试图取两个矩阵A和B,并输出一个矩阵C,它具有两个矩阵中的最小元素.

cij = min(aij,bij)

这就是我考虑这样做的方式:

C <- matrix(ncol = ncol(A), nrow = nrow(A), 0)
for (i in 1:ncol(C)) {
    Y <- rbind(A[i,], B[i,])
    C[i,] <- apply(Y, 2, min)
}

但是,我希望这可以被矢量化,但我想不出怎么做.我没有找到任何东西,如果有人有任何想法,我会非常感激.

谢谢!

最佳答案
见?pmin(并行最小值):

R> A <- matrix(1:4, 2, 2)
R> B <- matrix(c(5, 1, 1, 6), 2, 2)
R> A
     [,1] [,2]
[1,]    1    3
[2,]    2    4
R> B
     [,1] [,2]
[1,]    5    1
[2,]    1    6
R> pmin(A, B)
     [,1] [,2]
[1,]    1    1
[2,]    1    4

转载注明原文:比较两个矩阵(A和B)并输出一个新的矩阵C,其中cij = min(aij,bij) - 代码日志