[R] Column-by-column division
Rui Barradas
ru|pb@rr@d@@ @end|ng |rom @@po@pt
Wed Mar 3 12:12:57 CET 2021
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
>
> ______________________________________________
> 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.
More information about the R-help
mailing list