[R] Loading an .RData file and assigning the loaded objects within a loop

Gabor Grothendieck ggrothendieck at gmail.com
Sat Jun 1 17:42:37 CEST 2013

On Sat, Jun 1, 2013 at 6:18 AM, Jeremy Ng <jeremy.ng.wk1990 at gmail.com> wrote:
> Hi all,
> I tried to look this up online, but am still feeling a little stuck.
> I have a bunch of Rdata files in side my directory, and I would like to
> load all of them in a loop. Each time the next is read in, it would
> over-write the previously read in object because they will be assigned the
> same workspace object name.
> Is there anyway for each individually read in Rdata object to be assigned a
> new name?

If Files is a character vector containing the filenames then this
creates a list witih one componet per RData file. The list names will
be the file names.  Each component is itself a list containing the
objects in that file:

    L <- sapply(Files, function(x) mget(load(x)), simplify = FALSE)

(If it is known that each RData file contains only a single object
then mget could be replaced with get in which case each component of L
would be the object in the respective file.  In that case you will
lose the object names but as you indicated they are all the same that
likely won' t matter.)

Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com

More information about the R-help mailing list