繁体   English   中英

在R中我可以用工作区保存加载的包吗?

[英]In R can I save loaded packages with the workspace?

R通常只保存.GlobalEnv中的对象:

$ R
> library(rjson)
> fromJSON
function (...) ...
> q(save='yes')
$ R
> fromJSON
Error: object 'fromJSON' not found

有没有办法保存这些信息?

据我所知,没有。 工作空间用于数据和函数等对象 使用特定包加载R是您的.Rprofile文件的用途,您可以在每个目录中使用不同的文件。

我想,您可以在工作空间中保存一个函数来加载所需的包,然后在第一次启动R时运行该函数。

您现在可以将R会话信息保存到文件并将其加载到另一个会话中。

首先安装“session”包:

install.packages('session')

加载库和数据,然后将会话状态保存到文件:

library(session)
library(ggplot2) # plotting

test <- 100

save.session(file='test.Rda')

然后,您可以在另一个会话中加载会话状态:

library(session)

restore.session(file='test.Rda')

#ggplot2 (and associated data) should have loaded with the session data
head(diamonds)
ggplot(data = diamonds, aes(x = carat)) +
  geom_histogram()

print(test)

参考: https//www.rdocumentation.org/packages/session/versions/1.0.3/topics/save.session

joran是对的,但我想提一种虽然繁琐但可能有用的技巧。

您可以使用检查点程序(如DMTCP)来保存整个R进程并在以后重新启动它。

我建议不要在r会话之间保存任何内容,而是使用代码重新创建它。 这更可能导致可重复的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM