[R] Column-by-column division

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Wed Mar 3 12:16:39 CET 2021


Hello,

I forgot about sweep:


sweep(x, 2, s, '/')
sweep(x, 2, 1:4, '/')


Hope this helps,

Rui Barradas

Às 11:12 de 03/03/21, Rui Barradas escreveu:
> 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.
> 
> ______________________________________________
> 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