在R中,当我想在函数中修改全局变量时,我会这样做:
myfun <- function ()
{
a <<- 1
# .. later.. more complex code
a <<- 2
a <<- 3
}
我不想一直指定<<-
而不是<-
。我不习惯,我总是忘记。 在R中是否可以通过某种方式将变量声明为全局变量?大致内容:
myfun <- function ()
{
global a
a <- 1 # modify global var
# .. later.. more complex code
a <- 2 # modify global var
a <- 3 # modify global var
}
PS:我不认为这将与所提出的问题重复。请扩大答案以进行解释。
答案 0 :(得分:1)
为什么在函数中的全局环境中始终需要<<-
来更新a
?在函数末尾仅使用一次以更新全局变量。
myfun <- function () {
a <- 1
# .. later.. more complex code
a <- 2
a <<- 3
}