[R] eval(expr) without printing to screen?

baptiste auguie baptiste.auguie at googlemail.com
Sat Sep 19 23:01:37 CEST 2009


Hi,

What about this,

eval(parse(text=expr))

(no print)

HTH,

baptiste


2009/9/19 Nick Matzke <matzke at berkeley.edu>:
> Hi,
>
> I have a script which I source, which evaluates a changing expression call
> hundreds of times.  It works, but it prints to screen each time, which is
> annoying.  There must be simple way to suppress this, or to use a slightly
> different set of commands, which will be obvious to those wiser than I...
>
>
> Here is a simpler mockup which shows the issue:
>
> x = data.frame(rbind(c(1,2,3),c(1,2,3)))
> xnames = c("a", "b", "c")
> names(x) = xnames
>
> for(i in 1:length(x))
> {
> # Create a varying string expression
> expr = paste("y = x$", xnames[i], "[1]", sep="")
>
> # evaluate expression
> eval(parse(text=print(expr)))
>
> # This command prints the expression to screen even when embedded in a
> function in a sourced script.  I would prefer it didn't!
> }
>
>
> PS: I have to go through this rigamarole:
>
> expr = "y1 = x$c[1]"
> eval(parse(text=print(expr)))
>
> Because the following doesn't work, even though it seems like it should:
> expr = "y = x$c[2]"
> eval(expr)
>
>
>
>
> --
> ====================================================
> Nicholas J. Matzke
> Ph.D. Candidate, Graduate Student Researcher
> Huelsenbeck Lab
> Center for Theoretical Evolutionary Genomics
> 4151 VLSB (Valley Life Sciences Building)
> Department of Integrative Biology
> University of California, Berkeley
>
> Lab websites:
> http://ib.berkeley.edu/people/lab_detail.php?lab=54
> http://fisher.berkeley.edu/cteg/hlab.html
> Dept. personal page:
> http://ib.berkeley.edu/people/students/person_detail.php?person=370
> Lab personal page: http://fisher.berkeley.edu/cteg/members/matzke.html
> Lab phone: 510-643-6299
> Dept. fax: 510-643-6264
> Cell phone: 510-301-0179
> Email: matzke at berkeley.edu
>
> Mailing address:
> Department of Integrative Biology
> 3060 VLSB #3140
> Berkeley, CA 94720-3140
>
> -----------------------------------------------------
> "[W]hen people thought the earth was flat, they were wrong. When people
> thought the earth was spherical, they were wrong. But if you think that
> thinking the earth is spherical is just as wrong as thinking the earth is
> flat, then your view is wronger than both of them put together."
>
> Isaac Asimov (1989). "The Relativity of Wrong." The Skeptical Inquirer,
> 14(1), 35-44. Fall 1989.
> http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
>
> ______________________________________________
> 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.
>




More information about the R-help mailing list