This is a plain text.
If you want to start a new paragraph - add 2 space characters at the end
of the line.
One star ( * ) or one underscore ( _ ) around the text make it italic.
Two stars or underscores - bold
superscript2 and strikethrough
RMarkdown supports LaTeX syntax:
A Math formula surrounded by a dollar sign \(\sum_{i=1}^n X_i\) is inline with text.
When it is surrounded by two dollar signs, it is placed in a separate line: \[\sum_{i=1}^{n}\left( \frac{X_i}{Y_i} \right)\]
Multiple starts (3 or more) make a horizontal rule. Needs a blank line above and below:
Lists (both ordered and unordered) need a blank line first:
Table Header | Second Header |
---|---|
cell 1 | cell 2 |
cell 3 | cell 4 |
:— text is left justified :–: text is centered —: text is right justified
Formatted Table example:
Sum Sq | Df | F value | Pr(>F) | ||
---|---|---|---|---|---|
(Intercept) | 42785 | 1 | 357.4672 | < 2.2e-16 | *** |
var1 | 451 | 1 | 3.7653 | 0.0582130 | . |
var2 | 2034 | 2 | 8.4980 | 0.0006926 | *** |
The number of “-” symbols for each column on the second line of the above table controls the column width in the output.
Note: It is much easier to generate this table using R code. We included it here just as an example of using RMarkdown syntax for table generation.
R code can be included inline with a text using single back ticks and a lower case letter r. For example, we can define a variable x and assign a value to it and then compute its square and use it in the text: 49.
We can also include code chunks. This can be done by pressing a green button with a letter “C”, or with the keyboard shortcut Ctrl + Alt + I (Command + Option + I):
x1 <- rnorm(100)
print(mean(x1))
## [1] -0.08400502
By default, both R chunk and its output are included in the resulting document. We will also see error and warning messages (if any).
We can control what is included in the output document using chunk options:
x1 <- rnorm(100)
print(mean(x1))
A comprehensive description of the chunk options can be found in “Dynamic Documents with R and knitr by Yihui Xie.
Below is a list of some options:
Option | Default Value | Description |
---|---|---|
eval | TRUE | Evaluate the code and include its results |
echo | TRUE | Display code along with its results |
warning | TRUE | Display warnings |
error | FALSE | Display errors |
message | TRUE | Display messages |
tidy | FALSE | Reformat code in a tidy way when displaying it |
results | “markup” | “markup”, “asis”, “hold”, or “hide” |
cache | FALSE | Whether to cache results for future renders |
comment | “##” | Comment character to preface results with |
fig.width | 7 | Width in inches for plots created in chunk |
fig.height | 7 | Height in inches for plots created in chunk |
The chunks option can be included on the first line, separated by a comma:
x1 <- rnorm(100)
print(mean(x1))
## [1] -0.002150389
They can also be included into the chunk itself, using YAML format. Notice, that in the later case, we use column (:) symbol to assign the value and the logical value is specified using lower-case letters:
x1 <- rnorm(100)
print(mean(x1))
results option can take one of 4 values: “markup”, “asis”, “hold”, or “hide”.
Below is the output of a chunk for each choice:
markup:
x1 <- rnorm(100)
print(mean(x))
## [1] 7
asis:
x1 <- rnorm(100)
print(mean(x))
[1] 7
hold:
x1 <- rnorm(100)
print(mean(x))
## [1] 7
hide:
x1 <- rnorm(100)
print(mean(x))