# min rows multiplication by the max rows Classic List Threaded 4 messages Open this post in threaded view
|

## min rows multiplication by the max rows

 Hi my R friends, I have two matrices as follows: 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 I want to find a vector which is a matrix 1*3 and each of its elements is the multiplication of min element of each row of M by the max element of the corresponding row of N (for example, the first element of the vector is the min element of the first row of matrix M, which is 1, multiply by the max element of the first row of matrix N, which is 4, and so the first element of the vector is 1*4 which is 4). The final answer is: (1*4, 1*3,1*4)=(4,3,4) To find this vector (or matrix) I have written the below code: c(min(M[1,])*max(N[1,]),min(M[2,])*max(N[2,]),min(M[3,])*max(N[3,])) But it is so long. could anyone writes a shorter (or simpler, or easier) code?         [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: min rows multiplication by the max rows

 Hello, Use ?apply on each of the matrices. min_max <- function(X, Y, na.rm = FALSE){    Min <- apply(X, 1, min, na.rm = na.rm)    Max <- apply(Y, 1, max, na.rm = na.rm)    Min*Max } min_max(M, N) # 4 3 4 Hope this helps, Rui Barradas Às 15:30 de 23/05/20, Vahid Borji escreveu: > Hi my R friends, > > I have two matrices as follows: > > 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 > > I want to find a vector which is a matrix 1*3 and each of its elements is > the multiplication of min element of each row of M by the max element of > the corresponding row of N (for example, the first element of the vector is > the min element of the first row of matrix M, which is 1, multiply by the > max element of the first row of matrix N, which is 4, and so the first > element of the vector is 1*4 which is 4). > The final answer is: (1*4, 1*3,1*4)=(4,3,4) > > To find this vector (or matrix) I have written the below code: > c(min(M[1,])*max(N[1,]),min(M[2,])*max(N[2,]),min(M[3,])*max(N[3,])) > But it is so long. could anyone writes a shorter (or simpler, or easier) > code? > > [[alternative HTML version deleted]] > > ______________________________________________ > [hidden email] mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.