我希望有一个简单的功能来清除R中的工作区,但我似乎遇到了问题。我的代码如下。
clear() = function() rm(list=ls())
当我定义此函数并通过简单地使用clear()
来调用它时,代码会执行但我的工作区不会被清除。我尝试了各种格式的函数来定义函数是否有任何问题,但它都给出了相同的结果。简单地使用rm(list=ls())
函数可以正常工作,但是当我将它嵌入到我的函数中时却不行。谁能指出我正确的方向?我不了解用户定义的R函数?
谢谢!
答案 0 :(得分:1)
问题是当你在函数内部调用ls()
时,它会默认返回该函数环境中的对象。与rm()
相同。
试试这个:
clear <- function() {
rm(list=ls(.GlobalEnv), envir=.GlobalEnv)
}