Jak wspomniano wcześniej, R Markdown rozszerza Markdown. Oferuje wiele funkcji, które go ulepszają. W dokumentacji R Markdowna znajduje się wiele przykładów, w których możesz zorientować się, co jest możliwe. W tej sekcji skupimy się na fragmentach kodu, tabelach, wykresach, lokalnych i globalnych opcjach fragmentów oraz buforowaniu.
Fragmenty kodu
Fragmenty kodu to po prostu standardowe bloki kodu Markdown, które mają specjalną składnię, która używa nawiasów klamrowych ({}) wzdłuż górnej linii bloku, aby wysłać metadane do knitr, o tym, jak należy traktować blok. Przesyłane metadane mają postać parametrów z klucz = wartośći. Kiedy używasz nagłówka bloku, takiego jak (“`{r chunk-label}), knitr wie, że jest to blok kodu R, który będzie identyfikowany za pomocą etykiety chunk-label. Etykieta porcji nie jest wymagana, a jeśli jej nie określisz, zostanie ona automatycznie utworzona, ale są przydatne, gdy próbujesz zapamiętać przeznaczenie bloku kodu i odwoływać się do obrazów (więcej o tym później). Na koniec należy zauważyć, że każdy kod, który piszesz w standardowym bloku kodu Markdown, nie jest w żaden sposób wykonywany, więc może być pełen błędów i nic się nie stanie. Jednak w przypadku korzystania z fragmentów kodu R Markdown kod w bloku języka R jest faktycznie oceniany podczas kompilowania dokumentu, a jeśli zawiera on błędy, dokument lub prezentacja nie zostaną pomyślnie skompilowane, dopóki ich nie naprawisz. Jeśli użyjemy następującego wejścia:
“`{r optioal-label}
1 + 2
“`
Otrzymujemy następujący wynik:
1 + 2
[1] 3
str. 233
Tabele
W nieformalnych raportach możesz po prostu wydrukować macierz lub ramkę danych, zamiast tworzyć formalną tabelę. Jeśli potrzebujesz, istnieje wiele sposobów tworzenia tabel z R Markdown, które mogą wyglądać trochę ładniej. Pokazujemy, jak używaćkable z pakietu knitr, ponieważ jest to plik najprostszy. Jeśli potrzebujesz większej kontroli, możesz spojrzeć na pakiet , który daje Ci pełną kontrolę. Musisz upewnić się, że używasz results = „asis” we fragmencie kodu. Jeśli użyjemy następującego wejścia:
“`{r r-markdown-label, results = „asis”}
library(knitr)
x <- rnorm(100)
y <- 2 * x + rnorm(100)
coeficients <- summary(lm(y ~x)) $coef
kable(coeficients, digits = 2)
Otrzymujemy następujący wynik:
