Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 581
Daddy the Runner Avatar asked Jan 10 '15 21:01

Daddy the Runner


People also ask

What does knit do in RStudio?

If you are using RStudio, then the “Knit” button (Ctrl+Shift+K) will render the document and display a preview of it.

What does it mean to knit on R?

Knitting a document simply means taking all the text and code and creating a nicely formatted document in either HTML, PDF, or Word. To Knit a document from your markdown file, do one of the following. Click the “Knit” or “Preview” if you are using R notebook button at the top of this window.

How do I knit RStudio to HTML?

To knit in RStudio , click the Knit pull down button. You want to use the Knit HTML option for this lesson. When you click the Knit HTML button, a window will open in your console titled R Markdown. This pane shows the knitting progress.

What does it mean to knit a Markdown file in R?

You can transform an R Markdown file in two ways. knit - You can knit the file. The rmarkdown package will call the knitr package. knitr will run each chunk of R code in the document and append the results of the code to the document next to the code chunk. This workflow saves time and facilitates reproducible reports.


1 Answers

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.

like image 177
drmariod Avatar answered Oct 17 '22 01:10

drmariod