R Language
Tworzenie raportów za pomocą RMarkdown
Szukaj…
Drukowanie tabel
Istnieje kilka pakietów, które umożliwiają wyjście struktur danych w postaci tabel HTML lub LaTeX. Różnią się głównie elastycznością.
Tutaj korzystam z pakietów:
- knitr
- xtable
- sutener
Do dokumentów HTML
---
title: "Printing Tables"
author: "Martin Schmelzer"
date: "29 Juli 2016"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(xtable)
library(pander)
df <- mtcars[1:4,1:4]
```
# Print tables using `kable`
```{r, 'kable'}
kable(df)
```
# Print tables using `xtable`
```{r, 'xtable', results='asis'}
print(xtable(df), type="html")
```
# Print tables using `pander`
```{r, 'pander'}
pander(df)
```
Dla dokumentów PDF
---
title: "Printing Tables"
author: "Martin Schmelzer"
date: "29 Juli 2016"
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(xtable)
library(pander)
df <- mtcars[1:4,1:4]
```
# Print tables using `kable`
```{r, 'kable'}
kable(df)
```
# Print tables using `xtable`
```{r, 'xtable', results='asis'}
print(xtable(df, caption="My Table"))
```
# Print tables using `pander`
```{r, 'pander'}
pander(df)
```
Jak mogę zatrzymać drukowanie xtable przed każdym stołem?
options(xtable.comment = FALSE)
W tym polecenia LaTeX Preample
Istnieją dwa sposoby włączenia poleceń preambuły LaTeX (np. \usepackage
) do dokumentu RMarkdown.
1. Korzystanie z opcji YAML header-includes
:
---
title: "Including LaTeX Preample Commands in RMarkdown"
header-includes:
- \renewcommand{\familydefault}{cmss}
- \usepackage[cm, slantedGreek]{sfmath}
- \usepackage[T1]{fontenc}
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, external=T)
```
# Section 1
As you can see, this text uses the Computer Moden Font!
2. Łącznie z poleceniami zewnętrznymi z includes
, in_header
---
title: "Including LaTeX Preample Commands in RMarkdown"
output:
pdf_document:
includes:
in_header: includes.tex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, external=T)
```
# Section 1
As you can see, this text uses the Computer Modern Font!
Tutaj zawartość include.tex to te same trzy polecenia, które zawarliśmy z header-includes
.
Pisanie zupełnie nowego szablonu
Możliwą trzecią opcją jest napisanie własnego szablonu LaTex i dołączenie go do template
. Ale obejmuje to znacznie więcej struktury niż tylko preambułę.
---
title: "My Template"
author: "Martin Schmelzer"
output:
pdf_document:
template: myTemplate.tex
---
W tym bibliografie
Katalog bibtex cna można łatwo dołączyć do bibliography:
opcji YAML:. Określony styl bibliografii można dodać w biblio-style:
Odniesienia są dodawane na końcu dokumentu.
---
title: "Including Bibliography"
author: "John Doe"
output: pdf_document
bibliography: references.bib
---
# Abstract
@R_Core_Team_2016
# References
Podstawowa struktura dokumentu R-Markdown
Fragmenty kodu R.
R-markdown to plik przeceny z osadzonymi blokami kodu R zwanymi porcjami . Istnieją dwa typy fragmentów kodu R: wbudowany i blokowy .
Fragmenty wstawiane są dodawane przy użyciu następującej składni:
`r 2*2`
Są oceniane i wstawiają swoją odpowiedź wyjściową na miejscu.
Fragmenty bloku mają inną składnię:
```{r name, echo=TRUE, include=TRUE, ...}
2*2
````
I mają kilka możliwych opcji. Oto główne (ale jest wiele innych):
- echo (boolean) kontroluje, czy kod wewnątrz fragmentu zostanie zawarty w dokumencie
- obejmują (logiczne) elementy sterujące, czy dane wyjściowe powinny być zawarte w dokumencie
- rys. szerokość (numeryczna) ustawia szerokość liczb wyjściowych
- rys. wysokość (numeryczna) ustawia wysokość liczb wyjściowych
- rys. cap (znak) ustawia podpisy pod rysunkami
Są zapisywane w prostym formacie tag=value
, jak w powyższym przykładzie.
Przykład dokumentu R-markdown
Poniżej znajduje się podstawowy przykład pliku R-markdown ilustrujący sposób osadzania fragmentów kodu R wewnątrz r-markdown.
# Title #
This is **plain markdown** text.
```{r code, include=FALSE, echo=FALSE}
# Just declare variables
income <- 1000
taxes <- 125
```
My income is: `r income ` dollars and I payed `r taxes ` dollars in taxes.
Below is the sum of money I will have left:
```{r gain, include=TRUE, echo=FALSE}
gain <- income-taxes
gain
```
```{r plotOutput, include=TRUE, echo=FALSE, fig.width=6, fig.height=6}
pie(c(income,taxes), label=c("income", "taxes"))
```
Konwertowanie R-markdown na inne formaty
Pakiet R knitr
może być używany do oceny porcji R w pliku R-markdown i przekształcenia go w zwykły plik markdown.
Aby przekształcić plik R-markdown w pdf / html, konieczne są następujące kroki:
- Konwertuj plik R-markdown do pliku markdown za pomocą
knitr
. - Konwertuj uzyskany plik przeceny do pdf / html przy użyciu specjalistycznych narzędzi, takich jak pandoc .
Oprócz powyższego pakietu knitr
ma funkcje otoki knit2html()
i knit2pdf()
, których można użyć do wytworzenia końcowego dokumentu bez pośredniego kroku ręcznej konwersji go do formatu przeceny:
Jeśli powyższy przykładowy plik został zapisany jako income.Rmd
można go przekonwertować na plik pdf
za pomocą następujących poleceń R:
library(knitr)
knit2pdf("income.Rmd", "income.pdf")
Ostateczny dokument będzie podobny do poniższego.