[R] command similar to colSums for rowSums?

Will Carr torch742 at yahoo.com
Mon Nov 30 20:01:43 CET 2009


This seems to work quite well and gives an ~85% speed increase compared to
the for loop. Thanks a bunch!


Peter Ehlers wrote:
> 
> Or maybe aperm() is faster:
> 
>   max(colSums(aperm(yourArray, c(2,1,3))))
> 
>   -Peter Ehlers
> 
> Peter Ehlers wrote:
>> Does this
>> 
>>  max(apply(yourArray, 3, rowSums))
>> 
>> give you what you want?
>> 
>>  -Peter Ehlers
>> 
>> Will Carr wrote:
>>> Working with an NxMxO sized matrix, currently I can do this in my code:
>>>
>>> if (max(colSums(array)) >= number)
>>>
>>> But to get an equivalent result using rowSums, I have to do:
>>>
>>> for (i in 1:10)
>>> {
>>> if (max(rowSums(array[,,i])) >= number) }
>>>
>>> I'm running both in a much larger loop that loops millions of times, so
>>> speed and such is quite a big factor for me. Currently, the colSums line
>>> uses about 1/10th as much time as the rowSums' for loop, and the for
>>> loop
>>> actually took as much time as the rest of my code combined took to 
>>> execute.
>>> Is there a faster way than using a for loop and rowSums?
>> 
>> ______________________________________________
>> R-help at r-project.org mailing list
>> 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 at r-project.org mailing list
> 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.
> 
> 

-- 
View this message in context: http://n4.nabble.com/command-similar-to-colSums-for-rowSums-tp931394p931540.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list