[R] Column-by-column division

Steven Yen @tyen @end|ng |rom ntu@edu@tw
Wed Mar 3 12:40:17 CET 2021


Thanks to all. sweep is convenient.

On 2021/3/3 下午 07:16, Rui Barradas wrote:
> 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