在 R 中使用用户定义的 void 函数清除工作区

Clear workspace with user-defined void function in R

我想要一个简单的函数来清除我在 R 中的工作区,但我似乎遇到了问题。我的代码如下。

clear() = function() rm(list=ls())

当我定义这个函数并通过简单地使用 clear() 调用它时,代码执行但我的工作区没有被清除。我尝试了各种定义函数的格式,以查看是否发生了任何奇怪的事情,但它们都给出了相同的结果。简单地使用 rm(list=ls()) 函数就可以了,但是当我将它嵌入我的函数时就不行了。谁能指出我正确的方向?我对用户定义的 R 函数有什么不了解?

谢谢!

问题是,当您在函数内部调用 ls() 时,它默认 returns 该函数环境中的对象。与 rm().

相同

试试这个:

clear <- function() {
  rm(list=ls(.GlobalEnv), envir=.GlobalEnv)
}