使用已加载到变量中的RDS文件启动R控制台
我有一个RDS文件,例如使用已加载到变量中的RDS文件启动R控制台,r,R,我有一个RDS文件,例如/tmp/data.RDS。我想启动R,并已将该文件加载到环境中的变量中。我试过: R-e”数据AFAIK您有两种可能性: 解决方案1。自定义.Rprofile以捕获commandArgs()向量(另请参见)。例如,将其放入.Rprofile: if (any(commandArgs()=="load_rds")) { l = which(commandArgs()=="load_rds") data = readRDS(commandArgs()[l+1])
/tmp/data.RDS
。我想启动R,并已将该文件加载到环境中的变量中。我试过:
R-e”数据AFAIK您有两种可能性:
解决方案1。自定义.Rprofile
以捕获commandArgs()
向量(另请参见)。例如,将其放入.Rprofile
:
if (any(commandArgs()=="load_rds")) {
l = which(commandArgs()=="load_rds")
data = readRDS(commandArgs()[l+1])
}
然后使用以下命令启动会话:R--args load_rds a.rds
解决方案2。此解决方案有点黑客化,但不要求您修改.R配置文件。
。您可以(a)启动一个加载数据的非交互式R会话,然后结束,然后(b)启动一个加载上一个工作区的交互式R会话。只需键入控制台:
R --save -e 'data = readRDS("~/a.rds")'; R --restore
这有帮助吗?为什么要这样做?将调用添加到.Rprofile就足够了吗?或者您只想这样做一次吗?您可以添加类似于if(any(commandArgs()=“yes”))数据的内容更多上下文:我有一个具有r\u data\u文件
属性的Ruby对象(我使用该对象缓存r数据)。我希望能够执行类似于obj.inquire的操作来启动R并在那里加载RDS。这是为了调试目的。理想情况下,我不想调整.Rprofile,不过我现在要研究一下。谢谢!情节变厚了:我按照@nicola的建议更新了Rprofile.site
。但是,现在当我运行R加载RDS a=~/tmp/a.RDS时
,我在启动时得到了参数'load\u rds'\uuu ignored\uuu
和参数'a=/home/elad/tmp/a.rds'\uu ignored\uuu
。有没有办法抑制这些?最终得到了解决方案1。谢谢!