call RMarkdown on command line using a.R that is p

2019-02-06 07:36发布

In summary, I am using my script 'Graphs.R' on 'input_file1.txt' in RStudio to create a Rmd which I then knit to html. I would like to automate this process to run more files on the command line.

So far, I can get the Rscript to run on the command line using:

Rscript Graphs.R input_file1.txt

I also know that I can create an .RMD file using:

Rscript -e rmarkdown::render(Graphs.R)

However, I would like to do the following:

Rscript -e rmarkdown::render('Graphs.R input_file1.txt', 'output_file.Rmd')

are there any ideas as how to do this?

1条回答
干净又极端
2楼-- · 2019-02-06 08:33

It's not entirely clear what you are trying to do. It seems like you have a text file which has to be converted to an Rmd by an R script (why isn't it just an Rmd to begin with?) and then you want to render the Rmd. You can do this by running these commands in your terminal:

Rscript Graphs.R
Rscript -e "rmarkdown::render('output_file.Rmd')"

The first command runs the Graphs.R file which presumably generates output_file.Rmd. The second command runs a one-liner which knits output_file.Rmd into output_file.html.

If you want to read command line arguments in an R file, try ?commandArgs.

args <- commandArgs(trailingOnly = TRUE)

Also see this Stack Overflow question.

查看更多
登录 后发表回答