[R] append for .Rdata?

J Toll jctoll at gmail.com
Wed Oct 10 19:47:01 CEST 2012

On Tue, Oct 9, 2012 at 10:35 AM, Jessica Streicher
<j.streicher at micromata.de> wrote:
> Can i somehow append objects to an .Rdata file?
> I didn't see an option for it in the save() method.
> dump() won't work since i have s4 objects in there.

I'm not sure I completely understand the issues you're trying to work
around, but I have two ideas for you.  One is a simple pseudo-append
function that loads the entire contents, adds the object, and saves
the result.  There are obviously memory issues with this strategy.

appendRData <- function(robj, filename) {

  tmpEnv <- new.env()

  savedObjects <- load(filename, envir = tmpEnv)

  # quick check for name collisions
  stopifnot(!(deparse(substitute(robj)) %in% savedObjects))

  save(list = c(savedObjects, deparse(substitute(robj))),
      file = filename,
      envir = tmpEnv)

A second possibility is to convert your RData files to a lazy-load
database as described by Simon Urbanek here:




More information about the R-help mailing list