在 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)
}
我想要一个简单的函数来清除我在 R 中的工作区,但我似乎遇到了问题。我的代码如下。
clear() = function() rm(list=ls())
当我定义这个函数并通过简单地使用 clear()
调用它时,代码执行但我的工作区没有被清除。我尝试了各种定义函数的格式,以查看是否发生了任何奇怪的事情,但它们都给出了相同的结果。简单地使用 rm(list=ls())
函数就可以了,但是当我将它嵌入我的函数时就不行了。谁能指出我正确的方向?我对用户定义的 R 函数有什么不了解?
谢谢!
问题是,当您在函数内部调用 ls()
时,它默认 returns 该函数环境中的对象。与 rm()
.
试试这个:
clear <- function() {
rm(list=ls(.GlobalEnv), envir=.GlobalEnv)
}