[R] min rows multiplication by the max rows

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Sat May 23 16:54:08 CEST 2020


Please post using plain text format... otherwise what we see can be corrupted as compared to what you saw.

The obvious solution is:

apply( M, 1, min ) * apply( N, 1, max )

but Google sez there is an optimized version useful with large matrices:

library( Rfast )
rowMins( M ) * rowMins( N )

(untested)

On May 23, 2020 7:30:48 AM PDT, Vahid Borji <vahid.borji65 using gmail.com> wrote:
>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]]
>
>______________________________________________
>R-help using r-project.org 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.

-- 
Sent from my phone. Please excuse my brevity.



More information about the R-help mailing list