# Column-by-column division

7 messages
Open this post in threaded view
|

## Column-by-column division

 I have a 10 x 2 matrix x. Like to divide the first column by s[1] and second column by s[2]. The following lines work but are clumsy. Any idea? Thanks.  > x        [,1] [,2]   [1,]    1   11   [2,]    2   12   [3,]    3   13   [4,]    4   14   [5,]    5   15   [6,]    6   16   [7,]    7   17   [8,]    8   18   [9,]    9   19 [10,]   10   20  > s [1] 1 2  > t(t(x)/s)        [,1] [,2]   [1,]    1  5.5   [2,]    2  6.0   [3,]    3  6.5   [4,]    4  7.0   [5,]    5  7.5   [6,]    6  8.0   [7,]    7  8.5   [8,]    8  9.0   [9,]    9  9.5 [10,]   10 10.0 ______________________________________________ [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: Column-by-column division

 Hello, Maybe define an infix operator? `%!%` <- function(x, y) {    stopifnot(ncol(x) == length(y))    t(t(x)/y) } x <- matrix(1:20, ncol = 2) s <- 1:2 x %!% s x %!% 1:4 Hope this helps, Rui Barradas Às 11:00 de 03/03/21, Steven Yen escreveu: > I have a 10 x 2 matrix x. Like to divide the first column by s[1] and > second column by s[2]. The following lines work but are clumsy. Any > idea? Thanks. > >  > x >        [,1] [,2] >   [1,]    1   11 >   [2,]    2   12 >   [3,]    3   13 >   [4,]    4   14 >   [5,]    5   15 >   [6,]    6   16 >   [7,]    7   17 >   [8,]    8   18 >   [9,]    9   19 > [10,]   10   20 >  > s > [1] 1 2 >  > t(t(x)/s) >        [,1] [,2] >   [1,]    1  5.5 >   [2,]    2  6.0 >   [3,]    3  6.5 >   [4,]    4  7.0 >   [5,]    5  7.5 >   [6,]    6  8.0 >   [7,]    7  8.5 >   [8,]    8  9.0 >   [9,]    9  9.5 > [10,]   10 10.0 > > ______________________________________________ > [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.
Open this post in threaded view
|

## Re: Column-by-column division

 In reply to this post by Steven Yen To make sure the scalar is used instead of using the recycled vector s, maybe like this x <- matrix(1:20, nrow=10) s <- c(1,2) sapply(1:2, function(i) x[,i]/s[i]) -----Original Message----- From: R-help <[hidden email]> On Behalf Of Steven Yen Sent: Wednesday, March 3, 2021 6:00 AM To: R-help Mailing List <[hidden email]> Subject: [R] Column-by-column division I have a 10 x 2 matrix x. Like to divide the first column by s[1] and second column by s[2]. The following lines work but are clumsy. Any idea? Thanks.  > x        [,1] [,2]   [1,]    1   11   [2,]    2   12   [3,]    3   13   [4,]    4   14   [5,]    5   15   [6,]    6   16   [7,]    7   17   [8,]    8   18   [9,]    9   19 [10,]   10   20  > s [1] 1 2  > t(t(x)/s)        [,1] [,2]   [1,]    1  5.5   [2,]    2  6.0   [3,]    3  6.5   [4,]    4  7.0   [5,]    5  7.5   [6,]    6  8.0   [7,]    7  8.5   [8,]    8  9.0   [9,]    9  9.5 [10,]   10 10.0 ______________________________________________ [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. ______________________________________________ [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: Column-by-column division

Open this post in threaded view
|