使用已加载到变量中的RDS文件启动R控制台

时间:2015-04-16 14:10:29

标签: r

我有一个RDS文件,例如/tmp/data.RDS。我想启动R并且已经将该文件加载到环境中的变量中。我试过了:

R -e "data <- readRDS('/tmp/data.RDS')"

但是,命令完成后,-e参数退出控制台。

我也尝试过:

R --interactive -e "data <- readRDS('/tmp/data.RDS')"

不幸的是,看起来--interactive-e是互斥的 - 将使用命令行中的第一个,忽略另一个。换句话说,这不会在-e之后运行该部分。

感谢您阅读!

1 个答案:

答案 0 :(得分:1)

AFAIK你有两种可能:

解决方案1。自定义.Rprofile以捕获commandArgs()向量(另请参阅nicola's comment)。例如,将其放在.Rprofile

if (any(commandArgs()=="load_rds")) {
  l = which(commandArgs()=="load_rds")  
  data = readRDS(commandArgs()[l+1])
}

然后以:R --args load_rds a.rds

开始您的会话

解决方案2。此解决方案稍微有些苛刻,但不要求您修改.Rprofile。您可以(a)启动非交互式R会话,该会话加载数据然后结束,然后(b)启动加载以前工作区的交互式R会话。只需输入一个控制台:

R --save -e 'data = readRDS("~/a.rds")'; R --restore

这有帮助吗?