我有一个RDS文件,例如/tmp/data.RDS
。我想启动R并且已经将该文件加载到环境中的变量中。我试过了:
R -e "data <- readRDS('/tmp/data.RDS')"
但是,命令完成后,-e
参数退出控制台。
我也尝试过:
R --interactive -e "data <- readRDS('/tmp/data.RDS')"
不幸的是,看起来--interactive
和-e
是互斥的 - 将使用命令行中的第一个,忽略另一个。换句话说,这不会在-e
之后运行该部分。
感谢您阅读!
答案 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
这有帮助吗?