如何在Rscript中使用renv::run()中的变量

rsaldnfx  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(93)

关于this的问题:
来自tsp的回答:我相信一个比以上答案更简单的方法:Rscript -e 'renv::run(“/path/to/myscript.R”)'它将从基本路径获取renv环境。也可以使用项目参数指定环境。
有没有办法使用变量来定义/path/?如果我有许多脚本引用同一路径?
我试图为/path/定义一个变量,但是由于bash中的变量在单引号中不起作用,我不知道如何使它起作用。
比如说:

$SRC_DIR="/home/user/Rscript"

这些将不起作用:

Rscript -e 'renv::run("$SRC_DIR""/to/myscript.R")'
Rscript -e 'renv::run("${SRC_DIR}""/to/myscript.R")'

Error: unexpected string constant in "renv::runn("${SRC_DIR}""/to/myscript.R""
sqxo8psd

sqxo8psd1#

我刚刚测试过,这对我很有效:

Rscript -e "renv::run(\"${SRC_DIR}/to/myscript.R\")"

我们可以转义R \"中的引号(只有内引号,没有外引号),然后只构建一个字符串,在其中我们用${} sytnax注入SRC_DIR
为了弄清楚这一点,我使用了Rscript -e "print(...)",这对了解R如何处理输入有很大帮助。

相关问题