[R] scan or source a text file into a list
james.holtman@convergys.com
james.holtman at convergys.com
Thu Nov 11 17:30:13 CET 2004
use an 'environment' to read in the values; e.g.,
> with(e1 <- new.env(),source('/tempxx.txt', local=T)) # read in the file
to a new environment
> myList <- list() # define empty list
> for (i in ls(e1)){ # process each element
+ myList[i] <- get(i, e1)
+ }
>
> ls(e1) # show objects in the list
[1] "fnr" "nYears" "qe" "year0"
> myList # output my list
$fnr
[1] 0.3
$nYears
[1] 50
$qe
[1] 0.04
$year0
[1] 1970
>
__________________________________________________________
James Holtman "What is the problem you are trying to solve?"
Executive Technical Consultant -- Office of Technology, Convergys
james.holtman at convergys.com
+1 (513) 723-2929
"Andy Bunn"
<abunn at whrc.org> To: "R-Help" <r-help at stat.math.ethz.ch>
Sent by: cc:
r-help-bounces at stat.m Subject: [R] scan or source a text file into a list
ath.ethz.ch
11/11/2004 10:57
I've ported somebody else's rather cumbersome Matlab model to R for
colleagues that want a free build of the model with the same type of I/O.
The Matlab model reads a text file with the initial parameters specified
as:
C:\Data\Carluc\Rport>more Params.R
# Number of years to simulate
nYears = 50;
# Initial year for graphing purposes
year0 = 1970;
# NPP/GPP ratio (cpp0 unitless)
fnr = 0.30;
# Quantum efficency
qe = 0.040;
That is, there are four input variables (for this run - there can be many
more) written in a way that R can understand them. In R, I can have the
model source the parameter text file easily enough and have the objects in
the workspace. The model function in R takes a list at runtime. How can I
have R read that file and put the contents into the list I need?
E.g.,
> rm(list = ls())
> source("Params.R")
> ls()
[1] "fnr" "nYears" "qe" "year0"
> fnr
[1] 0.3
> nYears
[1] 50
> foo.list <- list(fnr = fnr, nYears = nYears)
>
> foo.list
$fnr
[1] 0.3
$nYears
[1] 50
The model is then run with
> CarlucR(inputParamList = foo.list, ...)
I can't build inputParamList "by hand" as above because the number of
initial parameters changes with the model run and this runs in a wrapper.
Any thoughts? Some combination of paste with scan or parse?
-Andy
> version
_
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 0.0
year 2004
month 10
day 04
language R
>
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list