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

Nick Matzke matzke at berkeley.edu
Sun Sep 20 23:40:42 CEST 2009



baptiste auguie wrote:
> Hi,
> 
> What about this,
> 
> eval(parse(text=expr))
> 
> (no print)
> 
> HTH,
> 
> baptiste


Thanks.  For some reason I couldn't think of that, for some reason I had 
a dim memory in my head that that wouldn't work, but it does. Thanks!
Cheers,
Nick



> 
> 
> 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.
>>
> 

-- 
====================================================
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




More information about the R-help mailing list