【发布时间】:2020-11-04 03:52:15
【问题描述】:
我希望创建一个全局函数来清除我的工作空间并转储我的内存。我将我的函数称为“cleaner”并希望它执行以下代码:
remove(list = ls())
gc()
我尝试在全局环境中创建函数,但是当我运行它时,控制台只打印函数的文本。在我要获取的函数文件中:
cleaner <- function(){
remove(list = ls())
gc()
#I tried adding return(invisible()) to see if that helped but no luck
}
cleaner()
即使我在希望它运行的脚本中创建函数(消除任何潜在的采购错误),存储转储似乎也可以工作,但它仍然没有清除工作区。
【问题讨论】:
-
清洁器()?还是cleanerFile()?
-
糟糕,我附上了错误的屏幕截图。但结果相同。
-
别介意我之前的评论,它不会做你想要的。做你想做的最好的方法是重新启动 R,但我不知道运行命令行的好方法。在 RStudio 中,您将使用快捷键 Ctrl(或 Cmd)+ Shift + F10,或单击 Session -> Restart R
-
当我执行 Ctrl + Shift + F10 并重新启动时,我的环境中仍然有我的所有变量、df、函数等。谷歌搜索这表明这是由于自动保存我的 .RData,我宁愿不禁用它。我有一个用于清除工作区的键盘快捷键,但我想知道是否可以创建一个也执行 gc() 的命令,因为没有键盘快捷键。这是两行代码,所以根本没有太多工作,但现在我只是想知道为什么我上面的函数不起作用。
-
可能是因为您正在保存 .RData,我建议您不要这样做。 onunicornsandgenes.blog/2017/04/02/…
标签: r function global-functions