[R] memory storage explosion
Roger Peng
rpeng at stat.ucla.edu
Mon Sep 2 01:43:28 CEST 2002
You could make an explicit call to 'gc' to force a garbage collection
(although I don't think this would really make a difference, just
guessing). Also, you might try using a 'for' loop instead of 'lapply' in
your 'fgh' function.
-roger
_______________________________
UCLA Department of Statistics
rpeng at stat.ucla.edu
http://www.stat.ucla.edu/~rpeng
On Sun, 1 Sep 2002, Saket Joshi wrote:
> Hi all,
>
> I am using R1.5.0 under unix.
>
> I have 2 data.frames x and yx. both have the same number of rows. I wrote
> a function abc to do the following:
>
> abc <- function(x, zyx)
> {
> x[1] <- zyx # zyx is a column of yx
> rpart(x)
> }
>
> Then I wrote another function fgh:
>
> fgh <- function()
> {
> yx <- ............... # yx created
> x <- ................ # x created
> lapply(yx, abc, x)
> }
>
> when I ran function fgh at the prompt, the program started running out of
> memory and the process running R gets killed. The reason for
> the memory running out is that with every call to the abc function in the
> implicit loop lapply, the memory equivalent to that of x is allocated in the
> variable storage (Vcells). The trouble is that the memory allocated is not
> freed when the function abc is run by lapply for the next element of yx
> i.e. in the next loop.
>
> Since x takes up 25 MB of space and since yx has 126 columns, a lot of
> memory space keeps getting allocated without being freed even when it is no
> longer required.
>
> I wonder if there are any options that I should set so that the memory
> allocated within a function is freed when the function is exited. But I am
> not sure how to do that or else how to free the memory by any other way.
>
> Could someone tell me how I can avoid this memory explosion?
>
> Thanks in advance,
> -Saket.
>
>
>
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
>
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list