Hi Jose,

What's the problem?

# some data
set.seed(123)
mydata <- data.frame(x = rnorm(10), y = rpois(10, 10))
mydata

f.graph.two.vbs<-function(dataname,v1){
     val<-paste(dataname,v1,sep="$")
     val<-eval(parse(text=val))
     val
    }

 f.graph.two.vbs('mydata', 'x')
 [1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774  1.71506499
 0.46091621 -1.26506123
 [9] -0.68685285 -0.44566197

Here is what I am using:

R version 2.11.1 Patched (2010-05-31 r52180)
x86_64-apple-darwin9.8.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] tools_2.11.1

HTH,
Jorge



On Tue, Jul 27, 2010 at 2:34 PM, Jorge A. Ahumada <> wrote:

> I am writing a function where the arguments are names of objects or
> variable
> names in a data frame. To convert the strings to the objects I am using
> eval(parse(text=name)):
>
> f.graph.two.vbs<-function(dataname,v1){
>
>     val<-paste(dataname,v1,sep="$")
>     val<-eval(parse(text=val))
>     val
>    }
>
> However running this returns an error:
>
> >f.graph.two.vbs("data","RECORD")
> Error in data$RECORD : $ operator is invalid for atomic vectors
>
> Repeating the individual commands in the workspace does work though.. Do I
> need to pass the object data in the arguments for this to work?
>
> Thanks,
>
> Jorge
> --
> Jorge A. Ahumada
> Technical Director
> Tropical Ecology Assessment and Monitoring Network (TEAM)
> Science and Knowledge Division
> Conservation International
> 2011 Crystal Dr. Suite 500
> Arlington, VA 22202
> Phone: 703-341-2543
> Mobile: 202-716-3374
> http://www.teamnetwork.org/
>
> ______________________________________________
> 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.
>

	[[alternative HTML version deleted]]

