R函数中的全局变量

lok*_*art 5 variables r function

我创建了一个处理我的一些数据的函数,如下所示:

a <- "old" 
test <- function (x) {
   assign(x, "new", envir = .GlobalEnv)
} 
test(a)
Run Code Online (Sandbox Code Playgroud)

但我看不出从"旧"到"新"的变化,我猜这是一些"全局变量",有什么建议吗?

谢谢!

小智 7

for assign(x,value),x需要是变量的名称而不是它的值,因此x应该是字符形式:assign("a","new"),并且为了在函数中使用,请尝试:

test <- function (x) 
{
  assign(deparse(substitute(x)), "new", envir = .GlobalEnv)
} 
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您将创建一个名为"old"的变量并为其指定"new":

> old
[1] "new"
Run Code Online (Sandbox Code Playgroud)