我在R中有两个矩阵,如下所示:
M<-matrix(c(1,4,1,3,1,4,2,3,1,2,1,2),3)
1 3 2 2
4 1 3 1
1 4 1 2
N<-matrix(c(1,1,2,2,3,4,-2,2,1,4,3,-1),3)
1 2 -2 4
1 3 2 3
2 4 1 -1
我想找到一个向量,它是一个矩阵1 * 3,它的每个元素都是M每行的min元素与N对应行的max元素的乘积(例如,向量的第一个元素是矩阵M的第一行的最小元素为1,乘以矩阵N的第一行的最大元素为4,因此向量的第一元素为1 * 4,即4)。 最终答案是:(1 * 4,1 * 3,1 * 4)=(4,3,4)
为了找到这个向量(或矩阵),我编写了以下代码:
c(min(M[1,])*max(N[1,]),min(M[2,])*max(N[2,]),min(M[3,])*max(N[3,]))
但是太长了。谁能写出更短(或更简单或更容易)的代码?