R 中的全局变量

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

174459 次浏览

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

a <- "old"
test <- function () {
assign("a", "new", envir = .GlobalEnv)
}
test()
a  # display the new value

Christian 对 assign()的回答表明,有一种方法可以在全局环境中进行分配。一种更简单、更短(但不是更好... 坚持赋值)的方法是使用 <<-操作符,即

    a <<- "new"

在函数内部。

.GlobalEnv$a <- "new"呢?我在这里看到了在特定环境中创建变量的一种明确方法: http://adv-r.had.co.nz/Environments.html。它似乎比使用 assign()函数短。