我定期编程.好吧,我一直在编程,但有时会以内存错误的形式赶上我.我开始在使用rm()命令删除对象时执行一些纪律,事情变得更好.我在网上看到有关gc()在删除大型数据对象后是否应该显式调用的混合消息.有人说在R返回内存错误之前它会运行,gc()而其他人则说手动强制gc是一个好主意.
我应该gc()在删除大型对象后运行以确保最大的内存可用性吗?
rel.mem <- function(nm) {
rm(nm)
}
Run Code Online (Sandbox Code Playgroud)
我定义了上面的函数rel.mem - 接受一个参数并将其传递给rm
> ls()
[1] "rel.mem"
> x<-1:10
> ls()
[1] "rel.mem" "x"
> rel.mem(x)
> ls()
[1] "rel.mem" "x"
Run Code Online (Sandbox Code Playgroud)
现在你可以看到我称之为rel.mem x没有被删除 - 我知道这是由于正在尝试rm的环境不正确.
对此有什么好处?
一个好的修复的标准:
笔记: