在Rstudio中重新启动R会话,但继续运行脚本。

3
我目前正在向数据库查询并获取一些大文件作为结果。我遇到了Windows不释放内存的常见问题,尽管我已经使用'rm()'和(edit)调用'gc()'。我发现的一个解决方法是在Rstudio中使用.rs.restartR()
然而,这需要我不断地观察我的脚本,以便在会话重新启动后继续它。是否可能自动化它?如果不行,人们用什么其他方法来克服这个问题?

2
rm()并不一定会释放内存。您也可以在rm()之后使用gc() - Hack-R
你是否曾经找到一种自动化的方法,就像@Hack-R在下面提到的那样,或者其他适合你的方式? - Jon
1
是的,通过使用批处理文件,您可以实现Hack-R描述的序列。请参考https://dev59.com/SGw15IYBdhLWcg3wJ4ms。 - Stelios K.
1个回答

1
你可以将代码分成两个文件,并编写一个批处理文件(.bat),通过.rs.restartR()运行第一个文件,然后运行下一个文件中的其余代码。
你也可以跳过.bat,只需在任务计划程序中安排两个.R脚本运行。
此外,请查看我的有关垃圾收集(gc())的评论。

1
你可以提供一个最小化的例子吗?我也遇到了同样的问题,但是我不知道你的意思。 - Héctor Garrido

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接