load() into a data frame with my chosen name => .ThisEnv ?
very simple question. I probably forgot the answer (early stage onset), and I could not find it via google and r-help. I have a number of files, each containing one saved data frame. I want to do the equivalent of d <- .GlobalEnv[[ load(file="dxxxx.Rdata") ]
Did you try using load's 'envir' argument, which should be mentioned in its help file?
E.g., define the function
getMyData <- function(RDataFile) {
# RDataFile should be *.RData file containing exactly one object
.ThisEnv <- new.env(parent = emptyenv())
loadedNames <- load(file=RDataFile, envir=.ThisEnv)
stopifnot(length(loadedNames)==1)
.ThisEnv[[ loadedNames ]]
}
and use it in the loop as
d <- getMyData(RDataFile = fname)
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
Of ivo welch
Sent: Monday, June 17, 2013 4:08 PM
To: r-help
Subject: [R] load() into a data frame with my chosen name => .ThisEnv ?
very simple question. I probably forgot the answer (early stage onset),
and I could not find it via google and r-help.
I have a number of files, each containing one saved data frame. I want to
do the equivalent of
d <- .GlobalEnv[[ load(file="dxxxx.Rdata") ]
but inside a function, and I don't need the original name (dxxxx). in the
end, I want to do something like
run <- function( i ) {
fname <- paste0( "d", i, ".Rdata")
stopifnot( length(fname)==1 )
d <- .ThisEnv[[ load(file=fname) ]]
coef( lm(d[,1] ~ d[,2]) ) ## calculate two coefficients and return
them
}
results <- mclapply( 1:10000, run )
stumped over something that should be easy...pointer appreciated.
/iaw
----
Ivo Welch (ivo.welch at gmail.com)
[[alternative HTML version deleted]]
______________________________________________ R-help at 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.