Hello,
Maybe using ?parent.frame. Something like
fn2 <- function(x) {
x1 <- function(y = x) {
env <- parent.frame()
env$y1 <- log(y)
y2 <- y^2
return(0)
}
### I want the variable 'y1' is available here.
### WITHOUT using the return() within x1()
try(x1(), silent = TRUE)
print(y1) # available
return(class(try(x1(), silent = TRUE)))
}
fn2(5)
fn2("sd") # This will throw an error in print(y1)
The example needs to be refined but y1 is available to the parent.env of
x1(), if x1() succeeds.
Hope this helps,
Rui Barradas
Em 16-03-2013 13:27, Christofer Bogaso escreveu:
Hello again, I was trying to understand how I can assign variables in
some other Environments which is different from that variable's
original Environment. Let say I have following nested functions:
fn <- function(x) {
x1 <- function(y = x) {
y1 <- log(y)
y2 <- y^2
return(0)
}
### I want the variable 'y1' is available here. WITHOUT using
the
return() within x1()
return(class(try(x1(), silent = TRUE)))
}
fn(5)
fn("sd")
Here I want that the variable 'y1' which is defined within the
function x1() should be available in it's parent function fn() but not
in the Global Env. I have tried with the '<<-' operator, however could
not achieve what I want.
Can somebody point me towards the right direction?
Thanks for your help.
______________________________________________
R-help@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.
______________________________________________
R-help@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.