128 lines
3.3 KiB
Plaintext
128 lines
3.3 KiB
Plaintext
---
|
|
title: "knitr Reference Card"
|
|
author: "Yihui Xie"
|
|
date: "`{r} Sys.Date()`"
|
|
output:
|
|
litedown::html_format:
|
|
meta:
|
|
css: ["@default"]
|
|
options:
|
|
number_sections: true
|
|
---
|
|
|
|
```{=html}
|
|
<!--
|
|
%\VignetteEngine{litedown::vignette}
|
|
%\VignetteIndexEntry{knitr Reference Card}
|
|
-->
|
|
```
|
|
## Syntax
|
|
|
|
| format | start | end | inline | output |
|
|
|-----------|---------------------|-----------------|--------------------|----------|
|
|
| Rnw | `<<*>>=` | `@` | `\Sexpr{x}` | TeX |
|
|
| Rmd | ```` ```{r *} ```` | ```` ``` ```` | `` `r x` `` | Markdown |
|
|
| Rhtml | `<!--begin.rcode *` | `end.rcode-->` | `<!--rinline x-->` | HTML |
|
|
| Rrst | `.. {r *}` | `.. ..` | `` :r:`x` `` | reST |
|
|
| Rtex | `% begin.rcode *` | `% end.rcode` | `\rinline{x}` | TeX |
|
|
| Rasciidoc | `// begin.rcode *` | `// end.rcode` | `+r x+` | AsciiDoc |
|
|
| Rtextile | `### begin.rcode *` | `### end.rcode` | `@r x@` | Textile |
|
|
| brew | | | `<% x %>` | text |
|
|
|
|
`*` denotes local chunk options, e.g., `<<label, eval=FALSE>>=`; `x` denotes
|
|
inline R code, e.g., `` `r 1+2` ``.
|
|
|
|
## Minimal Examples
|
|
|
|
::: col-2
|
|
### Sweave (\*.Rnw)
|
|
|
|
``` tex
|
|
\documentclass{article}
|
|
\begin{document}
|
|
|
|
Below is a code chunk.
|
|
|
|
<<foo, echo=TRUE>>=
|
|
z = 1 + 1
|
|
plot(cars)
|
|
@
|
|
|
|
The value of z is \Sexpr{z}.
|
|
\end{document}
|
|
```
|
|
|
|
### R Markdown (\*.Rmd)
|
|
|
|
```` md
|
|
---
|
|
title: "An R Markdown document"
|
|
---
|
|
|
|
Hi _Markdown_!
|
|
|
|
```{r foo, echo=TRUE}
|
|
z = 1 + 1
|
|
plot(cars)
|
|
```
|
|
|
|
The value of z is `r z`.
|
|
````
|
|
:::
|
|
|
|
## Chunk Options
|
|
|
|
`opts_chunk` controls global chunk options, e.g.,
|
|
`knitr::opts_chunk$set(tidy = FALSE)`, which can be overridden by local chunk
|
|
options. See all options at <https://yihui.org/knitr/options/>. Some frequently
|
|
used options are:
|
|
|
|
- `eval`: whether to evaluate the chunk
|
|
- `echo`: whether to echo source code
|
|
- `results`: `'markup'`, `'asis'`, `'hold'`, `'hide'`
|
|
- `tidy`: whether to reformat R code
|
|
- `cache`: whether to cache results
|
|
- `fig.width`, `fig.height`, `out.width`, `out.height`: device and output size
|
|
of figures
|
|
- `include`: whether to include the chunk results in output
|
|
- `child`: path to child documents
|
|
- `engine`: language name (R, python, ...)
|
|
|
|
## Functions
|
|
|
|
- `knit()`: the main function in this package; knit input document and write
|
|
output
|
|
- `purl()`: extract R code from an input document
|
|
- `spin()`: spin goat's hair (an R script with roxygen comments) into wool (a
|
|
literate programming document to be passed to `knit()`)
|
|
- `stitch()`: insert an R script into a template and compile the document
|
|
- `knit_hooks$set()`: set or reset chunk and output
|
|
[hooks](https://yihui.org/knitr/hooks/)
|
|
|
|
## Resources
|
|
|
|
- Homepage: <https://yihui.org/knitr/>
|
|
- Github: <https://github.com/yihui/knitr>
|
|
([CRAN](https://cran.r-project.org/package=knitr))
|
|
- Examples: <https://github.com/yihui/knitr-examples>
|
|
- Stack Overflow: <https://stackoverflow.com/tags/knitr/>
|
|
|
|
```{css, echo=FALSE}
|
|
body {
|
|
max-width: none;
|
|
}
|
|
table {
|
|
width: 100%;
|
|
}
|
|
.body h2 {
|
|
border-bottom: none;
|
|
font-size: 1.3em;
|
|
}
|
|
.body, .col-2 {
|
|
columns: 2;
|
|
& > :first-child {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
```
|