[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