R Language
Skapa rapporter med RMarkdown
Sök…
Skriva ut tabeller
Det finns flera paket som tillåter utmatning av datastrukturer i form av HTML- eller LaTeX-tabeller. De skiljer sig mestadels i flexibilitet.
Här använder jag paketen:
- knitr
- XTABLE
- pander
För HTML-dokument
---
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)
```
För PDF-dokument
---
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)
```
Hur kan jag sluta xtable skriva ut kommentaren före varje tabell?
options(xtable.comment = FALSE)
Inklusive LaTeX Preample-kommandon
Det finns två möjliga sätt att inkludera LaTeX-ingresskommandon (t.ex. \usepackage
) i ett RMarkdown-dokument.
1. Använd YAML-alternativet 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. Inklusive externa kommandon med 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!
Här är innehållet i include.tex samma tre kommandon som vi inkluderade med header-includes
.
Att skriva en helt ny mall
Ett möjligt tredje alternativ är att skriva din egen LaTex-mall och inkludera den med template
. Men detta täcker mycket mer av strukturen än bara ingressen.
---
title: "My Template"
author: "Martin Schmelzer"
output:
pdf_document:
template: myTemplate.tex
---
Inklusive bibliografier
En bibtex-katalog cna kan lätt inkluderas med YAML-alternativets bibliography:
:. En viss stil för bibliografin kan läggas till med biblio-style:
Hänvisningarna läggs till i slutet av dokumentet.
---
title: "Including Bibliography"
author: "John Doe"
output: pdf_document
bibliography: references.bib
---
# Abstract
@R_Core_Team_2016
# References
Grundläggande R-markdown-dokumentstruktur
R-markdown-kodbitar
R-markdown är en markdown-fil med inbäddade block av R-kod som kallas bitar . Det finns två typer av R-kodbitar: inline och block .
Inline bitar läggs till med följande syntax:
`r 2*2`
De utvärderas och sätter in sitt output-svar på plats.
Block bitar har en annan syntax:
```{r name, echo=TRUE, include=TRUE, ...}
2*2
````
Och de har flera möjliga alternativ. Här är de viktigaste (men det finns många andra):
- echo (boolean) kontrollerar om koden inuti delen kommer att inkluderas i dokumentet
- inkludera (booleska) kontroller om utgången ska inkluderas i dokumentet
- fig.width (numerisk) anger bredden på utgångssiffrorna
- fig.höjd (numerisk) ställer in höjden på utgångssiffrorna
- fig.cap (karaktär) anger figurtexten
De är skrivna i ett enkelt tag=value
format som i exemplet ovan.
Exempel på R-markdown-dokument
Nedan är ett grundläggande exempel på R-markdown-fil som illustrerar hur R-kodbitar är inbäddade i 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"))
```
Konvertera R-markdown till andra format
R- knitr
paketet kan användas för att utvärdera R-bitar inuti R-markdown-fil och förvandla det till en vanlig markdown-fil.
Följande steg behövs för att förvandla R-markdown-fil till pdf / html:
- Konvertera R-markdown-fil till markdown-fil med hjälp av
knitr
. - Konvertera den erhållna markdown-filen till pdf / html med specialiserade verktyg som pandoc .
Förutom ovannämnda knitr
paket har omslagsfunktioner knit2html()
och knit2pdf()
som kan användas för att producera det slutliga dokumentet utan mellansteg för att manuellt konvertera det till nedslagningsformatet:
Om ovanstående income.Rmd
sparades som income.Rmd
kan den konverteras till en pdf
fil med följande R-kommandon:
library(knitr)
knit2pdf("income.Rmd", "income.pdf")
Det slutliga dokumentet kommer att likna det nedan.