The help page of eval says: The 'evalq' form is equivalent to 'eval(quote(expr), ...)'. But the following is not equivalent. Can anyone give me some explaination? Thanks very much.
> f1 <- function(x,digits=5) lapply(x, f2) > f2 <- function(x) > eval(quote(print(x+1,digits=digits)),list(x=x),parent.frame(2)) > f1(list(x1=1)) [1] 2 $x1 [1] 2 > > f1 <- function(x,digits=5) lapply(x, f2) > f2 <- function(x) evalq(print(x+1,digits=digits),list(x=x),parent.frame(2)) > f1(list(x1=1)) Error in print.default(x + 1, digits = digits) : object "digits" not found -- Ronggui Huang Department of Sociology Fudan University, Shanghai, China ______________________________________________ R-help@stat.math.ethz.ch 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.