165

我正在查看手册,我想问社区:我们如何在函数中设置全局变量?

4

3 回答 3

191

正如克里斯蒂安对assign()节目的回答,有一种在全球环境中分配的方法。一种更简单、更短(但不是更好......坚持分配)的方法是使用<<-运算符,即

    a <<- "new" 

函数内部。

于 2009-08-06T02:42:29.767 回答
116

我找到了如何通过assign在邮件列表中设置全局变量的解决方案:

a <- "old"
test <- function () {
   assign("a", "new", envir = .GlobalEnv)
}
test()
a  # display the new value
于 2009-08-06T02:15:43.680 回答
12

怎么样.GlobalEnv$a <- "new"?我在这里看到了在特定环境中创建变量的这种显式方式:http: //adv-r.had.co.nz/Environments.html。它似乎比使用该assign()功能要短。

于 2020-08-19T12:44:48.877 回答