> On 20/08/2014, 8:58 AM, Barry Rowlingson wrote: > > On Tue, Aug 19, 2014 at 1:30 AM, Jinsong Zhao <jsz...@yeah.net> wrote: > >> Hi there, > >> > >> I have several saved data files (e.g., A.RData, B.RData and C.RData). In > >> each file, there are some objects with same names but different > >> contents. Now, I need to compare those objects through plotting. > >> However, I can't find a way to load them into a workspace. The only > >> thing I can do is to rename them and then save and load again. > >> > >> Is there a convenient to load those objects? > >> > >> Thanks a lot in advance. > > > > The technique of loading into an environment already mentioned can be > > cleaned up and put into a function. > > > > First lets save a thing called "x" into two files with different values: > > > > > x="first" > > > save(x,file="f.RData")) > > > x="second" > > > save(x,file="s.RData") > > > > This little function wraps the loading: > > > > > getFrom=function(file, name){e=new.env();load(file,env=e);e[[name]]} > > > > So now I can get 'x' from the first file - the value is returned from > > `getFrom` so I can assign it to anything: > > > > > x1 = getFrom("f.RData","x") > > > x1 > > [1] "first" > > > x2 = getFrom("s.RData","x") > > > x2 > > [1] "second" > > > > And I can even loop over RData files and read in all the `x`s into a vector: > > > > > sapply(c("f.RData","s.RData"),function(f){getFrom(f,"x")}) > > f.RData s.RData > > "first" "second" > > > > (on second thoughts, possibly 'loadFrom' is a better name)
> That's a nice little function. You could also have lsFrom, that lists > the objects stored in the file, along the same lines: > lsFrom <- function(file, all.names = FALSE, pattern) { > e <- new.env() > load(file, envir = e) > ls(e, all.names = all.names, pattern = pattern) > } > Duncan Murdoch Note that the solution of simply using attach("f.RData") makes the use of ls() very natural, and for Rstudio and similar gui users, even automatically part of their GUI. Martin Maechler ______________________________________________ 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.