[R] Creating different matrices in a loop

Patrick Burns pburns at pburns.seanet.com
Sun Jun 24 10:21:39 CEST 2007


Except the list should be initialized to the final
length:

smat <- vector("list", length(counts))

Growing objects is a major source of the inefficient
use of memory.  If the memory grows enough it becomes
a large impact on execution time.

Patrick Burns
patrick at burns-stat.com
+44 (0)20 8525 0696
http://www.burns-stat.com
(home of S Poetry and "A Guide for the Unwilling S User")

jim holtman wrote:

>You can use a 'list' for this:
>
>counts=c(4,6,10);
>
>p=1;
>smat <- list()
>for (i in 1:length(counts))
>{
>
>   smat[[i]] <- bmat[p:p+i-1,];
>   p=p+i;
>}
>
>
>
>
>On 6/23/07, suman Duvvuru <duvvuru.suman at gmail.com> wrote:
>  
>
>>Hello,
>>
>>I have a big matrix of size (20,5) -bmat . I have to loop though the rows
>>in
>>the matrix and create DIFFERENT matrices each time I go through the loop.
>>
>>counts=c(4,6,10);
>>
>>p=1;
>>for (i in 1:length(counts))
>>{
>>
>>   smat=bmat[p:p+i-1,];
>>   p=p+i;
>>}
>>
>>The problem is smat overwrites itself each time inside the loop. I would
>>like to have smat1, smat2, smat3 instead of a single vector smat.
>>Basically
>>I wanted to change the name of the matrix "smat" each time the loop runs
>>so
>>that i will have 3 different matrices.
>>
>>Any help will be very much appreciated.
>>
>>Thanks,
>>Suman
>>
>>       [[alternative HTML version deleted]]
>>
>>______________________________________________
>>R-help at stat.math.ethz.ch 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.
>>
>>    
>>
>
>
>
>  
>



More information about the R-help mailing list