Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
333 views
in Technique[技术] by (71.8m points)

r - What does “Knit HTML” do in Rstudio 0.98?

I am trying to figure out what command and default options RStudio uses when pressing the "knit HTML" button in RStudio version 0.98.1091 because I get a slightly different intermediate markdown file when I run the knit() function from the console.

Specifically, when I use the following header for the R markdown file:

---
title: "Report Title"
author: Daddy the Runner
date:  "`r format(Sys.time(), '%A, %B %d, %Y')`"
output: 
  html_document:
    keep_md: true
---

I get the following markdown file when pressing the "Knit HTML" button:

# Report Title
Daddy the Runner  
`r format(Sys.time(), '%A, %B %d, %Y')`

When I execute the following command: knit("myReport.Rmd"), I get the following markdown file:

---
title: "Report Title"
author: Daddy the Runner
date:  "Saturday, January 10, 2015"
output: 
  html_document:
    keep_md: true
---

Clearly the RStudio button is generating the intermediate markdown file using some other options but I can't find any information about it in the RStudio docs.

The key issue is the date line. For some reason, RStudio doesn't execute the inline r chunk in the header when making the markdown file. (However, it does get executed before generating the final HTML.) Whereas, the knit() function call does execute the inline chunk while generating the markdown file.

The only other difference I noticed in the two markdown files is related to the generation of plots. The two methods generate different sized graphics (command line: 504 x 504) versus (button: 672 x 480) and place them in different directories.

I tried the recommendation in this What commands are run when pressing "Knit HTML" on an R Markdown file in Rstudio 0.96? question to insert a Sys.sleep(30) call but that did not provide any information about what call RStudio used to knit the document. It did pause the output in the R Markdown console window which was unnecessary because RStudio keeps all of the output anyway. What I didn't see in the output was the command RStudio issued.

Any insight to the nature of these differences would be greatly appreciated. While I like using IDE environments and the conveniences they provide, I really like to understand what it is they are doing so I can better anticipate their behavior.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

As @rawr pointed out in the comments:

rmarkdown::render('your_document.Rmd', 'html_document', 'new_titel.html')

works and creates the same document as the Knit HTML button.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...