Code Styling
Syntax Highlighting
Code with syntax highlighting:
hello <- function(name) {
cat(sprintf("Hello, %s!", name))
}
hello("world")
## Hello, world!
Verbatim Output
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Markdown
A list:
- One
- Two
- Three
bold, italics, strikethrough.
A blockquote :
Hello! This is a blockquote.
A link or url: https://www.r-project.org/
Some math:
\[\begin{align*}
y = X\beta + \epsilon
\end{align*}\]
Now some headers:
Tabsets
The vmodern
R markdown theme comes with five preset tab styles.
- Traditional Tabs:
{.tabset}
- Traditional Pills:
{.tabset .tabset-pills}
- Modern Tabs:
{.tabset .tabset-vmodern}
- Modern Square Pills:
{.tabset .tabset-pills .tabset-square}
- Modern Circle Pills:
{.tabset .tabset-pills .tabset-circle}
Traditional
Tab 1
Tab 2
Tab 3
vmodern Tabs
Tab 1
Tab 2
Tab 3
Grey Square Tabs
Tab 1
Tab 2
Tab 3
Grey Circle Tabs
Tab 1
Tab 2
Tab 3
Tables
A table using pretty_kable()
:
iris %>%
group_by(Species) %>%
summarise(across(.fns = mean)) %>%
pretty_kable(
digits = 2,
sigfig = FALSE,
caption = "Mean of each iris feature with the maximum value bolded in blue",
format = "html",
bold_margin = 2,
bold_function = ". == max(.)",
bold_color = "red",
bold_scheme = c(FALSE, TRUE, TRUE, TRUE, TRUE)
)
Table 1: Mean of each iris feature with the maximum value bolded in blue
Species
|
Sepal.Length
|
Sepal.Width
|
Petal.Length
|
Petal.Width
|
setosa
|
5.01
|
3.43
|
1.46
|
0.25
|
versicolor
|
5.94
|
2.77
|
4.26
|
1.33
|
virginica
|
6.59
|
2.97
|
5.55
|
2.03
|
A table using pretty_DT()
:
pretty_DT(iris, digits = 2, sigfig = FALSE,
caption = "Iris dataset", rownames = FALSE)
Note that both pretty_kable()
and pretty_DT()
enable convenient bolding options.
LS0tCnRpdGxlOiAidm1vZGVybiBUaGVtZSIKZGF0ZTogImByIGZvcm1hdChTeXMudGltZSgpLCAnJUIgJWQsICVZJylgIgpvdXRwdXQ6CiAgdnRoZW1lczo6dm1vZGVybjoKICAgIGNvZGVfZm9sZGluZzogc2hvdwogICAgbGlnaHRib3g6IHRydWUKIyBwa2dkb3duOgojICAgYXNfaXM6IHRydWUKIyB2aWduZXR0ZTogPgojICAgJVxWaWduZXR0ZUluZGV4RW50cnl7dm1vZGVybn0KIyAgICVcVmlnbmV0dGVFbmdpbmV7a25pdHI6OnJtYXJrZG93bn0KIyAgICVcVmlnbmV0dGVFbmNvZGluZ3tVVEYtOH0KLS0tCgoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmxpYnJhcnkoa25pdHIpCmxpYnJhcnkodnRoZW1lcykKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGRwbHlyKQoKIyMgR2xvYmFsIG9wdGlvbnMKb3B0aW9ucyhtYXgucHJpbnQgPSAiODAiKQprbml0cjo6b3B0c19jaHVuayRzZXQoCiAgZWNobyA9IFRSVUUsIAogIGNhY2hlID0gRkFMU0UsIAogIG1lc3NhZ2UgPSBGQUxTRSwgCiAgd2FybmluZyA9IEZBTFNFCikKb3B0c19rbml0JHNldCh3aWR0aCA9IDgwKQpgYGAKCiMgQ29kZSBTdHlsaW5nCgojIyMgU3ludGF4IEhpZ2hsaWdodGluZwoKQ29kZSB3aXRoIHN5bnRheCBoaWdobGlnaHRpbmc6CgpgYGB7ciBzaH0KaGVsbG8gPC0gZnVuY3Rpb24obmFtZSkgewogIGNhdChzcHJpbnRmKCJIZWxsbywgJXMhIiwgbmFtZSkpCn0KCmhlbGxvKCJ3b3JsZCIpCmBgYAoKIyMjIFZlcmJhdGltIE91dHB1dAoKYGBge3IgaXJpcy1zdHJ9CnN0cihpcmlzKQpgYGAKCiMgTWFya2Rvd24KCkEgbGlzdDoKCjEuIE9uZQoyLiBUd28KMy4gVGhyZWUKICAgIC0gaGVsbG8KICAgIC0gd29ybGQKCioqYm9sZCoqLCAqaXRhbGljcyosIDxkZWw+c3RyaWtldGhyb3VnaDwvZGVsPi4KCkEgYmxvY2txdW90ZSA6Cgo+IEhlbGxvISBUaGlzIGlzIGEgYmxvY2txdW90ZS4KCkEgW2xpbmtdKGh0dHBzOi8vd3d3LnItcHJvamVjdC5vcmcvKSBvciB1cmw6IGh0dHBzOi8vd3d3LnItcHJvamVjdC5vcmcvCgpTb21lIG1hdGg6CgpcYmVnaW57YWxpZ24qfQp5ID0gWFxiZXRhICsgXGVwc2lsb24KXGVuZHthbGlnbip9CgpOb3cgc29tZSBoZWFkZXJzOgoKIyMgTGV2ZWwgMgoKIyMjIExldmVsIDMKCiMjIyMgTGV2ZWwgNAoKIyMjIyMgTGV2ZWwgNQoKCiMgVGFic2V0cwoKVGhlIGB2bW9kZXJuYCBSIG1hcmtkb3duIHRoZW1lIGNvbWVzIHdpdGggZml2ZSBwcmVzZXQgdGFiIHN0eWxlcy4KCi0gVHJhZGl0aW9uYWwgVGFiczogYHsudGFic2V0fWAKLSBUcmFkaXRpb25hbCBQaWxsczogYHsudGFic2V0IC50YWJzZXQtcGlsbHN9YAotIE1vZGVybiBUYWJzOiBgey50YWJzZXQgLnRhYnNldC12bW9kZXJufWAKLSBNb2Rlcm4gU3F1YXJlIFBpbGxzOiBgey50YWJzZXQgLnRhYnNldC1waWxscyAudGFic2V0LXNxdWFyZX1gCi0gTW9kZXJuIENpcmNsZSBQaWxsczogYHsudGFic2V0IC50YWJzZXQtcGlsbHMgLnRhYnNldC1jaXJjbGV9YAoKIyMgVHJhZGl0aW9uYWwgey50YWJzZXR9CgojIyMgVGFiIDEKCiMjIyBUYWIgMgoKIyMjIFRhYiAzCgojIyBQaWxscyB7LnRhYnNldCAudGFic2V0LXBpbGxzfQoKIyMjIFRhYiAxCgojIyMgVGFiIDIKCiMjIyBUYWIgMwoKIyMgdm1vZGVybiBUYWJzIHsudGFic2V0IC50YWJzZXQtdm1vZGVybn0KCiMjIyBUYWIgMQoKIyMjIFRhYiAyCgojIyMgVGFiIDMKCiMjIEdyZXkgU3F1YXJlIFRhYnMgey50YWJzZXQgLnRhYnNldC1waWxscyAudGFic2V0LXNxdWFyZX0KCiMjIyBUYWIgMQoKIyMjIFRhYiAyCgojIyMgVGFiIDMKCiMjIEdyZXkgQ2lyY2xlIFRhYnMgey50YWJzZXQgLnRhYnNldC1waWxscyAudGFic2V0LWNpcmNsZX0KCiMjIyBUYWIgMQoKIyMjIFRhYiAyCgojIyMgVGFiIDMKCgojIEZpZ3VyZXMKCkEgcGxvdCB1c2luZyB0aGUgYHZtb2Rlcm5gIGdncGxvdDIgdGhlbWUgYW5kIGEgY2FwdGlvbjoKCmBgYHtyIGlyaXMtZmlnLCBmaWcuY2FwID0gIkEgY2FwdGlvbiIsIGZpZy53aWR0aCA9IDgsIGZpZy5oZWlnaHQgPSA0fQpnZ3Bsb3QoaXJpcykgKwogIGFlcyh4ID0gU2VwYWwuTGVuZ3RoLCB5ID0gU2VwYWwuV2lkdGgsIGNvbG9yID0gU3BlY2llcykgKwogIGdlb21fcG9pbnQoKSArCiAgdGhlbWVfdm1vZGVybigpICsKICBzY2FsZV9jb2xvcl92bW9kZXJuKGRpc2NyZXRlID0gVFJVRSkKYGBgCgpBIHNlcXVlbmNlIG9mIHBsb3RzIGdlbmVyYXRlZCBpbiBhIGZvciBsb29wIHVzaW5nIGBzdWJjaHVua2lmeSgpYDoKCmBgYHtyIGlyaXMtc3ViY2h1bmtpZnksIHJlc3VsdHMgPSAiYXNpcyJ9CmZvciAoZmVhdHVyZSBpbiBzZXRkaWZmKGNvbG5hbWVzKGlyaXMpLCAiU3BlY2llcyIpKSB7CiAgaGlzdF9wbG90IDwtIGdncGxvdChpcmlzKSArCiAgICBhZXMoeCA9IC5kYXRhW1tmZWF0dXJlXV0pICsKICAgIGdlb21faGlzdG9ncmFtKGJpbnMgPSAxMiwgY29sb3IgPSAiZ3JleTk4IiwgZmlsbCA9ICIjM0I3RUExIikgKwogICAgbGFicyh5ID0gIkZyZXF1ZW5jeSIsIHRpdGxlID0gZmVhdHVyZSkgKwogICAgdGhlbWVfdm1vZGVybigpCiAgc3ViY2h1bmtpZnkoaGlzdF9wbG90LCBpID0gc3ByaW50ZigiaGlzdG9ncmFtLSVzIiwgZmVhdHVyZSksIAogICAgICAgICAgICAgIGZpZ19oZWlnaHQgPSA0LCBmaWdfd2lkdGggPSA4KQp9CmBgYAoKCiMgVGFibGVzCgpBIHRhYmxlIHVzaW5nIGBwcmV0dHlfa2FibGUoKWA6CgpgYGB7ciB0YWJsZS1rYWJsZX0KaXJpcyAlPiUKICBncm91cF9ieShTcGVjaWVzKSAlPiUKICBzdW1tYXJpc2UoYWNyb3NzKC5mbnMgPSBtZWFuKSkgJT4lCiAgcHJldHR5X2thYmxlKAogICAgZGlnaXRzID0gMiwgCiAgICBzaWdmaWcgPSBGQUxTRSwKICAgIGNhcHRpb24gPSAiTWVhbiBvZiBlYWNoIGlyaXMgZmVhdHVyZSB3aXRoIHRoZSBtYXhpbXVtIHZhbHVlIGJvbGRlZCBpbiBibHVlIiwgCiAgICBmb3JtYXQgPSAiaHRtbCIsIAogICAgYm9sZF9tYXJnaW4gPSAyLCAKICAgIGJvbGRfZnVuY3Rpb24gPSAiLiA9PSBtYXgoLikiLAogICAgYm9sZF9jb2xvciA9ICJyZWQiLAogICAgYm9sZF9zY2hlbWUgPSBjKEZBTFNFLCBUUlVFLCBUUlVFLCBUUlVFLCBUUlVFKQogICkKYGBgCgpBIHRhYmxlIHVzaW5nIGBwcmV0dHlfRFQoKWA6CgpgYGB7ciB0YWJsZS1kdH0KcHJldHR5X0RUKGlyaXMsIGRpZ2l0cyA9IDIsIHNpZ2ZpZyA9IEZBTFNFLCAKICAgICAgICAgIGNhcHRpb24gPSAiSXJpcyBkYXRhc2V0Iiwgcm93bmFtZXMgPSBGQUxTRSkKYGBgCgpOb3RlIHRoYXQgYm90aCBgcHJldHR5X2thYmxlKClgIGFuZCBgcHJldHR5X0RUKClgIGVuYWJsZSBjb252ZW5pZW50IGJvbGRpbmcgb3B0aW9ucy4KCgoK