[R] eval(expr) without printing to screen?
Nick Matzke
matzke at berkeley.edu
Sat Sep 19 22:48:09 CEST 2009
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
More information about the R-help
mailing list