rpy2的文档指出robjects.r对象可以访问R全局环境。有没有办法将这个全球环境“刷新”到其初始状态?
我希望能够将全局环境恢复到导入rpy2.robjects模块但尚未使用的状态。通过这种方式,我不必担心长时间运行的作业或其他意外的副作用导致内存泄漏。是的,刷新环境可能会引入不同类型的错误,但我相信在我的情况下它将是一个胜利。
答案 0 :(得分:2)
如果您只是想清除.GlobalEnv
,那么请将您的问题理解为字面意思,您只需一行即可:
rm(list = ls(all.names=TRUE))
all.names=TRUE
位是必需的,因为vanilla ls()
不会返回某些对象名称。例如:
x <- rnorm(5)
ls()
# [1] "x"
# Doesn't remove objects with names starting with "."
rm(list=ls())
ls(all.names = TRUE)
# [1] ".Random.seed"
# Removes all objects
rm(list = ls(all.names=TRUE))
ls(all.names = TRUE)
# character(0)
答案 1 :(得分:0)
只有/ one /&#34;全球环境&#34;在R;当R开始时它被初始化。你可以清除其成员,就像Josh指出的那样,但是如果你碰巧需要它,这可能意味着你可以更好地实现新环境,并在它们之间切换或在不再需要时删除它们。