Romain Francois <[EMAIL PROTECTED]> writes:
> Hi,
>
> Consider the code :
>
> g <- function(){
> print(.x)
> .x <- 3
> }
>
> f <- function(){
> environment(g) <- environment()
> .x <- 2
> g()
> .x
> }
>
> > f()
> [1] 2
> [1] 2
>
>
> I would like f() to return 3. How can I do that ? Am I completely out of
> place ?
> Doing that, I want to avoid to pass .x as a parameter in f, because in
> real life .x is pretty big and g() is called over and over in a loop.
If you want to assign into the environment of g, you'll need <<- ,
otherwise you assign to a local variable.
Another possibility involves assign(..., parent.frame())
--
O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907
______________________________________________
[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