[R] turn character string into unevaluated R object

carol white wht_crl at yahoo.com
Wed Mar 3 09:26:52 CET 2010


Thanks for all replies but it is still not what I wanted.

Referring to the previous example that I gave, I want that the objects mat1, mat2 and mat3 be created as matrix object. I want to access their value without get() and when I type ls(), I will have 

mat1  mat2  mat3
and not only
"mat1" "mat2" "mat3"

and when I type 

dim(mat1)

I'll get
12 3
for ex

what I'm looking for is the inverse of deparse(substitution()) which gives the name of the object from the object. I want to access the value of the object directly not through its name.

Hope that it's more clear

--- On Tue, 3/2/10, Tim Calkins <tim.calkins at gmail.com> wrote:

> From: Tim Calkins <tim.calkins at gmail.com>
> Subject: Re: [R] turn character string into unevaluated R object
> To: "Liviu Andronic" <landronimirc at gmail.com>
> Cc: "carol white" <wht_crl at yahoo.com>, r-help at stat.math.ethz.ch
> Date: Tuesday, March 2, 2010, 5:50 PM
> 
> 
> fortune('parse')
> 
> But if you have a vector of file names you can create
> a blank list and read.table each file into a list. I
> generally find that if I'm reading a bunch of files in
> at the same time they are probably related and I will end up
> coming back and putting them all in to a list anyways.
> 
> 
> file.names <- c('name 1', 'name
> 2', 'name 3')
> my.list <- list()
> for (i in file.names) { temp
> <- read.table(paste(i, '.txt', sep =
> ''))
> # assign temp to i if desired assign(i,
> temp) # or put it in the
> list my.list[[i]] <-
> temp}
> 
> 
> 
> 
> On Wed, Mar 3, 2010 at 10:15 AM, Liviu Andronic <landronimirc at gmail.com>
> wrote:
> 
> On 3/2/10, carol white <wht_crl at yahoo.com>
> wrote:
> 
> >  How to turn a character string into an unevaluated R
> object? I want to load some
> 
> >
> 
> I'm not sure if this is what you're looking
> for:
> 
> > as.name("iris")
> 
> iris
> 
> > parse(text="iris")
> 
> expression(iris)
> 
> attr(,"srcfile")
> 
> <text>
> 
> > head(eval(as.name("iris")))
> 
>   Sepal.Length Sepal.Width Petal.Length Petal.Width
> Species
> 
> 1          5.1         3.5          1.4    
>     0.2  setosa
> 
> 2          4.9         3.0          1.4    
>     0.2  setosa
> 
> 3          4.7         3.2          1.3    
>     0.2  setosa
> 
> 4          4.6         3.1          1.5    
>     0.2  setosa
> 
> 5          5.0         3.6          1.4    
>     0.2  setosa
> 
> 6          5.4         3.9          1.7    
>     0.4  setosa
> 
> > head(eval(parse(text="iris")))
> 
>   Sepal.Length Sepal.Width Petal.Length Petal.Width
> Species
> 
> 1          5.1         3.5          1.4    
>     0.2  setosa
> 
> 2          4.9         3.0          1.4    
>     0.2  setosa
> 
> 3          4.7         3.2          1.3    
>     0.2  setosa
> 
> 4          4.6         3.1          1.5    
>     0.2  setosa
> 
> 5          5.0         3.6          1.4    
>     0.2  setosa
> 
> 6          5.4         3.9          1.7    
>     0.4  setosa
> 
> 
> 
> Liviu
> 
> 
> 
> ______________________________________________
> 
> 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.
> 
> 
> 
> 
> -- 
> Tim Calkins
> 0406 753 997
> 
> 
> 






More information about the R-help mailing list