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

Owe*_*wen 6 workspace r package

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

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

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

jor*_*ran 5

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

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


Con*_*ems 5

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

首先安装“会话”包:

install.packages('session')
Run Code Online (Sandbox Code Playgroud)

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

library(session)
library(ggplot2) # plotting

test <- 100

save.session(file='test.Rda')
Run Code Online (Sandbox Code Playgroud)

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

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)
Run Code Online (Sandbox Code Playgroud)

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