On 12-05-12 10:06 PM, Jack Tanner wrote:
This version of my code makes the R process consume unreasonable amounts of RAM:

   datf<- rbind(lapply(mylist, function(item) {
       with(item, data.frame(col1, col2, col3))
     }))

This version works fine:

   datf<- lapply(mylist, function(item) {
       with(item, data.frame(col1, col2, col3))
     })
   datf<- do.call(rbind, datf)

Is this to be expected?

They are different, so I'd expect differences:

> x <- list(data.frame(a=1), data.frame(a=2),data.frame(a=3))
> rbind(x)
  [,1]   [,2]   [,3]
x List,1 List,1 List,1
> do.call(rbind, x)
  a
1 1
2 2
3 3

The first doesn't really make sense, so the fact that it takes a lot of memory may be R trying too hard to do something sensible.

Duncan Murdoch

______________________________________________
R-help@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.

Reply via email to