[R] What is the difference between expression and quote when usedwith eval()?

Bert Gunter gunter.berton at gene.com
Fri Feb 19 20:10:14 CET 2010


> as.list(expression( 2*3))
[[1]]
2 * 3

> as.list(quote( 2*3))
[[1]]
`*`

[[2]]
[1] 2

[[3]]
[1] 3

> identical(as.list(expression( 2*3))[[1]],quote(2*3))
[1] TRUE

expression() wraps the call into an expression object (as pointed out to me
by Gabor Grothendieck).

Bert Gunter
Genentech Nonclinical Statistics

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of blue sky
Sent: Friday, February 19, 2010 9:43 AM
To: r-help at stat.math.ethz.ch
Subject: [R] What is the difference between expression and quote when
usedwith eval()?

I made the following example to see what are the difference between
expression and quote. But I don't see any difference when they are
used with eval()? Could somebody let me know what the difference is
between expression and quote?


expr=expression(2*3)
quo=quote(2*3)

eval(expr)
str(expr)
class(expr)
typeof(expr)
mode(expr)
attributes(expr)

eval(quo)
str(quo)
class(quo)
typeof(quo)
mode(quo)
attributes(quo)

______________________________________________
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