Variables can be assigned globally from any environment using <<-. bar() can now access y.
bar <- function() {
    z <- x + y
    return(z)
}
    
foo <- function() {
    y <<- 3
    z <- bar()
    return(z)
}
foo()
4
Global assignment is highly discouraged. Use of a wrapper function or explicitly calling variables from another local environment is greatly preferred.
 
                