R Markdown (v1) Vignettes with knitr

Yihui Xie

2024-11-06

Before R 3.0.0, only Sweave/PDF vignettes were supported in R. Markdown is gaining popularity over the years due to its simplicity, and R 3.0.0 starts to support package vignettes written in R Markdown.

Please note this example is for R Markdown v1 only. If you use R Markdown v2, you should use the vignette engine knitr::rmarkdown instead of knitr::knitr.

Package vignettes

To enable Markdown vignettes in an R package, you need to

View vignettes

And R will load the knitr package to build these vignettes to HTML files, and you can see them when you open the HTML help:

help(package = 'YourPackage', help_type = 'html')
# or see a standalone list of vignettes
browseVignettes('YourPackage')

Examples

Below are some code chunks as examples.

if (TRUE) cat('_hello_ **markdown**!', '\n')

hello markdown!

Normally you do not need any chunk options.

1+1
#> [1] 2
10:1
#>  [1] 10  9  8  7  6  5  4  3  2  1
rnorm(5)^2
#> [1] 3.98959 0.01359 0.84722 6.17346 0.04204
strsplit('hello, markdown vignettes', '')
#> [[1]]
#>  [1] "h" "e" "l" "l" "o" "," " " "m" "a" "r" "k" "d" "o" "w" "n" " " "v" "i" "g"
#> [20] "n" "e" "t" "t" "e" "s"
#> 

Feel free to draw beautiful plots and write math \(P(X>x)=\alpha/2\).

n=300; set.seed(123)
par(mar=c(4,4,.1,.1))
plot(rnorm(n), rnorm(n), pch=21, cex=5*runif(n), col='white', bg='gray')