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

时间:2017-10-10 00:12:05

标签: r function clear workspace

我希望有一个简单的功能来清除R中的工作区,但我似乎遇到了问题。我的代码如下。

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

当我定义此函数并通过简单地使用clear()来调用它时,代码会执行但我的工作区不会被清除。我尝试了各种格式的函数来定义函数是否有任何问题,但它都给出了相同的结果。简单地使用rm(list=ls())函数可以正常工作,但是当我将它嵌入到我的函数中时却不行。谁能指出我正确的方向?我不了解用户定义的R函数?

谢谢!

1 个答案:

答案 0 :(得分:1)

问题是当你在函数内部调用ls()时,它会默认返回该函数环境中的对象。与rm()相同。

试试这个:

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