我正在阅读手册,我想问社区: 我们如何在函数内设置全局变量?
答案 0 :(得分:147)
正如克里斯蒂安对assign()
的回答所示,有一种方法可以在全球环境中进行分配。更简单,更短(但不是更好......坚持分配)方式是使用<<-
运算符,即
a <<- "new"
在函数内部。
答案 1 :(得分:78)
我找到了一个解决方案,了解如何通过mailinglist posting在assign中设置全局变量:
a <- "old"
test <- function () {
assign("a", "new", envir = .GlobalEnv)
}
test()
a # display the new value
答案 2 :(得分:4)
.GlobalEnv$a <- "new"
呢?我在这里看到了一种在特定环境中创建变量的显式方式:http://adv-r.had.co.nz/Environments.html。似乎比使用assign()
函数要短。