可以在函数中将变量声明为全局变量吗?

时间:2019-11-04 23:31:55

标签: r

在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:我不认为这将与所提出的问题重复。请扩大答案以进行解释。

1 个答案:

答案 0 :(得分:1)

为什么在函数中的全局环境中始终需要<<-来更新a?在函数末尾仅使用一次以更新全局变量。

myfun <- function () {
  a <- 1
  # .. later.. more complex code
  a <- 2
  a <<- 3
}