17

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?

user1234579
  • 179
  • 1
  • 1
  • 7
  • It's not clear what you're trying to do. What is the result of the first script? – tmpname12345 Feb 13 '15 at 21:08
  • Graphs.R creates tables and graphs of the data in 'input_file1.txt' for example, kable(df) and some bar graphs with tables inserted to give summary statistics for the data. – user1234579 Feb 13 '15 at 21:23

1 Answers1

21

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.

Community
  • 1
  • 1
Lincoln Mullen
  • 6,257
  • 4
  • 27
  • 30