f1<- function(x){env<- parent.frame();env$a<-5; g(x)}
f1(2)
#[1] 7
f1(7)
#[1] 12
f1(5)
#[1] 10
A.K.
________________________________
From: David Kulp <[email protected]>
To: "[email protected]" <[email protected]>
Sent: Monday, June 24, 2013 4:27 PM
Subject: [R] Lexical scoping is not what I expect
According to
http://cran.r-project.org/doc/contrib/Fox-Companion/appendix-scope.pdf and
other examples online, I am to believe that R resolves variables using lexical
scoping by following the frames up the call stack. However, that's not working
for me. For example, the following code, taken from the reference above fails
instead of returning 7. What am I doing wrong? Thanks!
f <- function(x) { a<-5; g(x) }
g <- function(y) { y + a }
f(2)
Error in g(x) : object 'a' not found
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.
______________________________________________
[email protected] 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.