Tutorial for R Markdown and R Notebook
In this presentation, we will give a brief introduction on R Markdown and R Notebooks.
This part of tutorial is adapted from the introduction of R Studio on R Markdown and R Notebooks.
Overview
R Markdown is a text file type that has the extension .Rmd
.
It provides a reproducible document framework for data science, and you can use a single R Markdown file to both
- save and execute codes
- generate high quality reports that can be shared with an audience
When you open the R Markdown file in the RStudio IDE, it becomes an R Notebook interface.
R Notebook is an R Markdown document with chunks that can be executed independently and interactively. Any R Markdown document can be used as a notebook, and all R Notebooks can be rendered to other R Markdown document types. A notebook can therefore be thought of as a special execution mode for R Markdown documents.

Creating an R Notebook
You can create a new notebook in RStudio with the menu command File -> New File -> R Notebook, or by using the html_notebook output type in your document’s YAML header.

After that, you will have an R Notebook with one code chunk.

Markdown Basics
Format the text in your R Markdown file with Pandoc’s Markdown, a set of markup annotations for plain text files. When you render your file, Pandoc transforms the marked up text into formatted text in your final file format: 
Inserting Chunks
In each chunk, the codes can be executed independently, and the output will appear beneath the chunk.
New chunks can be inserted quickly using the keyboard shortcut Ctrl + Alt + I (OS X: Cmd + Option + I), or via the Add Chunk command in the editor toolbar.

Chunk Options
Chunk output can be customized with knitr options, arguments set in the {}
of a chunk header. Above, we use five arguments:
include = FALSE
prevents code and results from appearing in the finished file. R Markdown still runs the code in the chunk, and the results can be used by other chunks.
echo = FALSE
prevents code, but not the results from appearing in the finished file. This is a useful way to embed figures.
message = FALSE
prevents messages that are generated by code from appearing in the finished file.
warning = FALSE
prevents warnings that are generated by code from appearing in the finished.
fig.cap = "..."
adds a caption to graphical results.
Also, you can process many languages in code chunks besides R. Some of the available language engines include:
- Python
- SQL
- Bash
- Stan
- JavaScript
To process a code chunk using an alternate language engine, replace the r
at the start of your chunk declaration with the name of the language: 
Saving Your R Notebook
When you finish your R Notebook, you can choose to save the .Rmd
file. At the same time, an .nb.html
file is created alongside it. This file is a self-contained HTML file which contains both a rendered copy of the notebook with all current chunk outputs (suitable for display on a website) and a copy of the notebook .Rmd
itself.
Also, the RStudio IDE knit button allows you to render your R Notebook to other formats like .pdf
and .docx
. You can render to additional formats by clicking the dropdown menu beside the knit button: 
Here is how it works:

LS0tCnRpdGxlOiAnJwpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazogZGVmYXVsdAogIGh0bWxfZG9jdW1lbnQ6IGRlZmF1bHQKICBwZGZfZG9jdW1lbnQ6IGRlZmF1bHQKICB3b3JkX2RvY3VtZW50OiBkZWZhdWx0Ci0tLQojIyBUdXRvcmlhbCBmb3IgUiBNYXJrZG93biBhbmQgUiBOb3RlYm9vawoKSW4gdGhpcyBwcmVzZW50YXRpb24sIHdlIHdpbGwgZ2l2ZSBhIGJyaWVmIGludHJvZHVjdGlvbiBvbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgIGFuZCBbUiBOb3RlYm9va3NdKGh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20vcl9ub3RlYm9va3MuaHRtbCkuCgpUaGlzIHBhcnQgb2YgdHV0b3JpYWwgaXMgYWRhcHRlZCBmcm9tIHRoZSBpbnRyb2R1Y3Rpb24gb2YgUiBTdHVkaW8gb24gW1IgTWFya2Rvd25dKGh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20pICBhbmQgW1IgTm90ZWJvb2tzXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tL3Jfbm90ZWJvb2tzLmh0bWwpLgoKIyMjIE92ZXJ2aWV3CgoqKlIgTWFya2Rvd24qKiBpcyBhIHRleHQgZmlsZSB0eXBlIHRoYXQgaGFzIHRoZSBleHRlbnNpb24gYC5SbWRgLiAKCkl0IHByb3ZpZGVzIGEgcmVwcm9kdWNpYmxlIGRvY3VtZW50IGZyYW1ld29yayBmb3IgZGF0YSBzY2llbmNlLCBhbmQgeW91IGNhbiB1c2UgYSBzaW5nbGUgUiBNYXJrZG93biBmaWxlIHRvIGJvdGgKCi0gc2F2ZSBhbmQgZXhlY3V0ZSBjb2RlcwotIGdlbmVyYXRlIGhpZ2ggcXVhbGl0eSByZXBvcnRzIHRoYXQgY2FuIGJlIHNoYXJlZCB3aXRoIGFuIGF1ZGllbmNlCgpXaGVuIHlvdSBvcGVuIHRoZSBSIE1hcmtkb3duIGZpbGUgaW4gdGhlIFJTdHVkaW8gSURFLCBpdCBiZWNvbWVzIGFuIFIgTm90ZWJvb2sgaW50ZXJmYWNlLiAKCioqUiBOb3RlYm9vayoqIGlzIGFuIFIgTWFya2Rvd24gZG9jdW1lbnQgd2l0aCBjaHVua3MgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgaW5kZXBlbmRlbnRseSBhbmQgaW50ZXJhY3RpdmVseS4gQW55IFIgTWFya2Rvd24gZG9jdW1lbnQgY2FuIGJlIHVzZWQgYXMgYSBub3RlYm9vaywgYW5kIGFsbCBSIE5vdGVib29rcyBjYW4gYmUgcmVuZGVyZWQgdG8gb3RoZXIgUiBNYXJrZG93biBkb2N1bWVudCB0eXBlcy4gQSBub3RlYm9vayBjYW4gdGhlcmVmb3JlIGJlIHRob3VnaHQgb2YgYXMgYSBzcGVjaWFsIGV4ZWN1dGlvbiBtb2RlIGZvciBSIE1hcmtkb3duIGRvY3VtZW50cy4KCjxpbWcgc3JjPSJodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tL2xlc3Nvbi1pbWFnZXMvaG93LTEtZmlsZS5wbmciIGFsdD0iRHJhd2luZyIgc3R5bGU9IndpZHRoOiA4MDBweDsiLz4KCiMjIyBDcmVhdGluZyBhbiBSIE5vdGVib29rCllvdSBjYW4gY3JlYXRlIGEgbmV3IG5vdGVib29rIGluIFJTdHVkaW8gd2l0aCB0aGUgbWVudSBjb21tYW5kICpGaWxlIC0+IE5ldyBGaWxlIC0+IFIgTm90ZWJvb2sqLCBvciBieSB1c2luZyB0aGUgaHRtbF9ub3RlYm9vayBvdXRwdXQgdHlwZSBpbiB5b3VyIGRvY3VtZW504oCZcyBZQU1MIGhlYWRlci4KCjxpbWcgc3JjPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ2hlbmdsaWFuZ1RhbmcvVGVtcC1JbWFnZXMtZm9yLTIwMTctU3ByaW5nL21hc3Rlci9TY3JlZW5zaG90XzEucG5nIiBhbHQ9IkRyYXdpbmciIHN0eWxlPSJ3aWR0aDogNDUwcHg7Ii8+CgpBZnRlciB0aGF0LCB5b3Ugd2lsbCBoYXZlIGFuIFIgTm90ZWJvb2sgd2l0aCBvbmUgY29kZSBjaHVuay4KCjxpbWcgc3JjPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ2hlbmdsaWFuZ1RhbmcvVGVtcC1JbWFnZXMtZm9yLTIwMTctU3ByaW5nL21hc3Rlci9TY3JlZW5zaG90XzIucG5nIiBhbHQ9IkRyYXdpbmciIHN0eWxlPSJ3aWR0aDogODAwcHg7Ii8+CgojIyMgTWFya2Rvd24gQmFzaWNzCkZvcm1hdCB0aGUgdGV4dCBpbiB5b3VyIFIgTWFya2Rvd24gZmlsZSB3aXRoIFBhbmRvY+KAmXMgTWFya2Rvd24sIGEgc2V0IG9mIG1hcmt1cCBhbm5vdGF0aW9ucyBmb3IgcGxhaW4gdGV4dCBmaWxlcy4gV2hlbiB5b3UgcmVuZGVyIHlvdXIgZmlsZSwgUGFuZG9jIHRyYW5zZm9ybXMgdGhlIG1hcmtlZCB1cCB0ZXh0IGludG8gZm9ybWF0dGVkIHRleHQgaW4geW91ciBmaW5hbCBmaWxlIGZvcm1hdDoKPGltZyBzcmM9Imh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20vbGVzc29uLWltYWdlcy9tYXJrZG93bi0xLW1hcmt1cC5wbmciIGFsdD0iRHJhd2luZyIgc3R5bGU9IndpZHRoOiA4MDBweDsiLz4KCiMjIyBJbnNlcnRpbmcgQ2h1bmtzCkluIGVhY2ggY2h1bmssIHRoZSBjb2RlcyBjYW4gYmUgZXhlY3V0ZWQgaW5kZXBlbmRlbnRseSwgYW5kIHRoZSBvdXRwdXQgd2lsbCBhcHBlYXIgYmVuZWF0aCB0aGUgY2h1bmsuIAoKTmV3IGNodW5rcyBjYW4gYmUgaW5zZXJ0ZWQgcXVpY2tseSB1c2luZyB0aGUga2V5Ym9hcmQgc2hvcnRjdXQgKipDdHJsICsgQWx0ICsgSSoqIChPUyBYOiAqKkNtZCArIE9wdGlvbiArIEkqKiksIG9yIHZpYSB0aGUgKipBZGQgQ2h1bmsqKiBjb21tYW5kIGluIHRoZSBlZGl0b3IgdG9vbGJhci4KCjxpbWcgc3JjPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ2hlbmdsaWFuZ1RhbmcvVGVtcC1JbWFnZXMtZm9yLTIwMTctU3ByaW5nL21hc3Rlci9TY3JlZW5zaG90XzMucG5nIiBhbHQ9IkRyYXdpbmciIHN0eWxlPSJ3aWR0aDogODAwcHg7Ii8+CgoKIyMjIENodW5rIE9wdGlvbnMKQ2h1bmsgb3V0cHV0IGNhbiBiZSBjdXN0b21pemVkIHdpdGgga25pdHIgb3B0aW9ucywgYXJndW1lbnRzIHNldCBpbiB0aGUgYHt9YCBvZiBhIGNodW5rIGhlYWRlci4gQWJvdmUsIHdlIHVzZSBmaXZlIGFyZ3VtZW50czoKCi0gYGluY2x1ZGUgPSBGQUxTRWAgcHJldmVudHMgY29kZSBhbmQgcmVzdWx0cyBmcm9tIGFwcGVhcmluZyBpbiB0aGUgZmluaXNoZWQgZmlsZS4gUiBNYXJrZG93biBzdGlsbCBydW5zIHRoZSBjb2RlIGluIHRoZSBjaHVuaywgYW5kIHRoZSByZXN1bHRzIGNhbiBiZSB1c2VkIGJ5IG90aGVyIGNodW5rcy4KLSBgZWNobyA9IEZBTFNFYCBwcmV2ZW50cyBjb2RlLCBidXQgbm90IHRoZSByZXN1bHRzIGZyb20gYXBwZWFyaW5nIGluIHRoZSBmaW5pc2hlZCBmaWxlLiBUaGlzIGlzIGEgdXNlZnVsIHdheSB0byBlbWJlZCBmaWd1cmVzLgotIGBtZXNzYWdlID0gRkFMU0VgIHByZXZlbnRzIG1lc3NhZ2VzIHRoYXQgYXJlIGdlbmVyYXRlZCBieSBjb2RlIGZyb20gYXBwZWFyaW5nIGluIHRoZSBmaW5pc2hlZCBmaWxlLgotIGB3YXJuaW5nID0gRkFMU0VgIHByZXZlbnRzIHdhcm5pbmdzIHRoYXQgYXJlIGdlbmVyYXRlZCBieSBjb2RlIGZyb20gYXBwZWFyaW5nIGluIHRoZSBmaW5pc2hlZC4KLSBgZmlnLmNhcCA9ICIuLi4iYCBhZGRzIGEgY2FwdGlvbiB0byBncmFwaGljYWwgcmVzdWx0cy4KCkFsc28sIHlvdSBjYW4gcHJvY2VzcyBtYW55IGxhbmd1YWdlcyBpbiBjb2RlIGNodW5rcyBiZXNpZGVzIFIuIFNvbWUgb2YgdGhlIGF2YWlsYWJsZSBsYW5ndWFnZSBlbmdpbmVzIGluY2x1ZGU6CgotIFB5dGhvbgotIFNRTAotIEJhc2gKLSBTdGFuCi0gSmF2YVNjcmlwdAoKVG8gcHJvY2VzcyBhIGNvZGUgY2h1bmsgdXNpbmcgYW4gYWx0ZXJuYXRlIGxhbmd1YWdlIGVuZ2luZSwgcmVwbGFjZSB0aGUgYHJgIGF0IHRoZSBzdGFydCBvZiB5b3VyIGNodW5rIGRlY2xhcmF0aW9uIHdpdGggdGhlIG5hbWUgb2YgdGhlIGxhbmd1YWdlOgo8aW1nIHNyYz0iaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbS9sZXNzb24taW1hZ2VzL2xhbmd1YWdlcy0xLWRlbW9zLnBuZyIgYWx0PSJEcmF3aW5nIiBzdHlsZT0id2lkdGg6IDgwMHB4OyIvPgoKIyMjIFNhdmluZyBZb3VyIFIgTm90ZWJvb2sKV2hlbiB5b3UgZmluaXNoIHlvdXIgUiBOb3RlYm9vaywgeW91IGNhbiBjaG9vc2UgdG8gc2F2ZSB0aGUgYC5SbWRgIGZpbGUuIEF0IHRoZSBzYW1lIHRpbWUsIGFuIGAubmIuaHRtbGAgZmlsZSBpcyBjcmVhdGVkIGFsb25nc2lkZSBpdC4gVGhpcyBmaWxlIGlzIGEgc2VsZi1jb250YWluZWQgSFRNTCBmaWxlIHdoaWNoIGNvbnRhaW5zIGJvdGggYSByZW5kZXJlZCBjb3B5IG9mIHRoZSBub3RlYm9vayB3aXRoIGFsbCBjdXJyZW50IGNodW5rIG91dHB1dHMgKHN1aXRhYmxlIGZvciBkaXNwbGF5IG9uIGEgd2Vic2l0ZSkgYW5kIGEgY29weSBvZiB0aGUgbm90ZWJvb2sgYC5SbWRgIGl0c2VsZi4KCkFsc28sIHRoZSBSU3R1ZGlvIElERSBrbml0IGJ1dHRvbiBhbGxvd3MgeW91IHRvIHJlbmRlciB5b3VyIFIgTm90ZWJvb2sgdG8gb3RoZXIgZm9ybWF0cyBsaWtlIGAucGRmYCBhbmQgYC5kb2N4YC4gWW91IGNhbiByZW5kZXIgdG8gYWRkaXRpb25hbCBmb3JtYXRzIGJ5IGNsaWNraW5nIHRoZSBkcm9wZG93biBtZW51IGJlc2lkZSB0aGUga25pdCBidXR0b246CjxpbWcgc3JjPSJodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tL2xlc3Nvbi1pbWFnZXMvb3V0cHV0cy0yLXBkZi5wbmciIGFsdD0iRHJhd2luZyIgc3R5bGU9IndpZHRoOiA4MDBweDsiLz4KCkhlcmUgaXMgaG93IGl0IHdvcmtzOgoKPGltZyBzcmM9Imh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20vbGVzc29uLWltYWdlcy9STWFya2Rvd25GbG93LnBuZyIgYWx0PSJEcmF3aW5nIiBzdHlsZT0id2lkdGg6IDgwMHB4OyIvPgoKCiMjIyBSZWZlcmVuY2VzCjEuIFIgTWFya2Rvd24gZnJvbSBSIFN0dWRpbyBbaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbS9sZXNzb24tMS5odG1sXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tL2xlc3Nvbi0xLmh0bWwpCgoyLiBSIE5vdGVib29rIGZyb20gUiBTdHVkaW8gW2h0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20vcl9ub3RlYm9va3MuaHRtbF0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbS9yX25vdGVib29rcy5odG1sKQo=