【发布时间】:2021-07-20 23:14:30
【问题描述】:
我想从一个函数中返回一个特定的变量,但是这个变量没有被使用,例如:
fx <- function(x) { z <- 39 }
我用 get 函数尝试过,但没有得到值,也许有一个更简单的解决方案。 如何从这个函数返回“z”?
【问题讨论】:
标签: r function environment-variables
我想从一个函数中返回一个特定的变量,但是这个变量没有被使用,例如:
fx <- function(x) { z <- 39 }
我用 get 函数尝试过,但没有得到值,也许有一个更简单的解决方案。 如何从这个函数返回“z”?
【问题讨论】:
标签: r function environment-variables
通常我们不想将变量直接注入调用者,而是我们更愿意将其作为函数的值返回,但假设您确实需要这个:
fx <- function(envir = parent.frame()) invisible(assign("z", 39, envir))
fx()
z
## [1] 39
【讨论】:
我不清楚你想做什么。如果您想使用函数将带有值的变量 z 添加到全局环境中,则 <<- 运算符会执行此操作。例如
fx <- function(x){(z <<- x)}
fx(39)
[1] 39
在全局环境中创建变量z,其值为39。但不建议在函数内部使用<<- 运算符。而是将全局变量分配给函数的返回值。例如:
fx <- function(x){(retVal <- x)}
z <- fx(39)
z
[1] 39
【讨论】: