Try this: x <- get(GET$pass.var) mean(x)
On Tue, Aug 25, 2009 at 12:26 PM, Ista Zahn<iz...@psych.rochester.edu> wrote: > Hi everyone, > I'm building a website (http://yourpsyche.org) using Jeffrey Horner's > awesome Rapache module. I want to take user input, and pass it to an R > script. At first I was simply using if else statements, but after a > while I had so many nested if else's in my code that my head was > spinning. So then I started using cat() and source() to write > temporary files and read them back in (see example below). I've > searched around, and I think there might be a better way to do it with > substitute(), but I can't seem to figure it out (see attempt below). > > Here is a minimal example: > >> ###set up simple example### >> GET <- list(pass.var="b") >> a <- 1:10 >> b <- 11:20 >> >> ###using if else works but becomes confusing when I have a lot of variables >> to pass### >> if(GET$pass.var=="a") > + { > + mean(a) > + } else if(GET$pass.var=="b") > + { > + mean(b) > + } > [1] 15.5 >> >> ###writing to a temporary file works but feels like a hack and results in >> many temp > files### >> cat('print(mean(', GET$pass.var,'))', file="tmp.R",sep="") >> source("tmp.R") > [1] 15.5 >> >> ###this seems promising but I can't figure it out### >> substitute(mean(x), list(x=GET$pass.var)) > mean("b") >> >> ###is there a better way?### >> > > Thanks! > -- > Ista Zahn > Graduate student > University of Rochester > > ______________________________________________ > 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. > ______________________________________________ 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.