R - 如何将变量的值视为常量?

时间:2016-05-26 21:02:10

标签: r

在R中,如何在定义函数时将变量的值用作常量?

在循环中,我想做类似的事情:

theta <- vector[n]

f <- function(x)
{
    v <- theta * x
    return(v)
}

但是我需要能够稍后重新定义theta并且没有更改函数的定义吗?我调查了get()但是遇到了同样的问题。

1 个答案:

答案 0 :(得分:3)

您可以尝试这样的事情:

f <- function(theta) {
    t <- theta
    function(x) t * x
}
theta <- 5
g <- f(theta)
# g is now a function that multiplies its argument by 5
g(2)
#[1] 10
# Now try to modify theta in the global environment
theta <- 6
# g doesn't change
g(2)
#[1] 10