Skip to content
Back to formatted view

Raw Message

Message-ID: <CAP01uRnZCYHdUtPqm57yg5=tUMD54ert83DCFy-6EsRRTZsFBQ@mail.gmail.com>
Date: 2013-06-01T15:42:37Z
From: Gabor Grothendieck
Subject: Loading an .RData file and assigning the loaded objects within a loop
In-Reply-To: <CAL93JYthgwUzpAjz_uXXVxKYywGdGXZRTqPyw3sAVogLXD99hQ@mail.gmail.com>

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