我正在尝试实现您可能天真的写为:
R -e "
rmarkdown::render(
'MyDocument.Rmd',
params = list(
year = 2017
),
output_file = 'ExampleRnotebook.html'
)
"
这样我可以制作格式正确的提交脚本以在集群上运行。
我在下面尝试了一些变体,我想知道是否存在使用R -f
标志的替代方法?
read -r -d '' EXP << EOF
rmarkdown::render(
'MyDocument.Rmd',
params = list(
year = 2017
),
output_file = 'ExampleRnotebook.html'
)
EOF
R -e "$EXP"
但是我遇到了一系列看起来像这样的错误:
ARGUMENT 'params~+~=~+~list(' __ignored__
表示表达式的不同行,后跟:
> rmarkdown::render(
+
+ Error: unexpected end of input
要复制:
MyDocument.Rmd =
---
title: "R Notebook"
output: html_notebook
params:
year: 0000
---
```{r}
params$year
```
这很好:
read -r -d '' EXP <<- EOF
rmarkdown::render('MyDocument.Rmd', params = list(year = 2017 ), output_file = 'ExampleRnotebook.html')
EOF
R -e "$EXP"
但是使用较长的参数列表会变得难以阅读
答案 0 :(得分:2)
这对我有效(R版本3.5.0):
R --no-save <<code
for(i in 1:3) {
i +
2
}
print(i)
runif(5,
1,10)
code
注意:换行和填充是有意的。