R语言环境和功能

例子

在函数内声明的变量只存在(除非被传递)在该函数内。

x <- 1

foo <- function(x) {
    y <- 3
    z <- x + y
    return(z)
}

y

错误:找不到对象“y”

传递给函数然后重新分配的变量会被覆盖,但仅限于函数内部

foo <- function(x) {
    x <- 2
    y <- 3
    z <- x + y
    return(z)
}

foo(1)
x

5

1

在比函数更高的环境中分配的变量存在于该函数中,不会被传递。

foo <- function() {
    y <- 3
    z <- x + y
    return(z)
}
    
foo()

4