R Language
Création de rapports avec RMarkdown
Recherche…
Tables d'impression
Plusieurs packages permettent la sortie de structures de données sous forme de tables HTML ou LaTeX. Ils diffèrent principalement dans la flexibilité.
Ici, j'utilise les paquets:
- tricoter
- xtable
- entremetteur
Pour les documents 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)
```
Pour les documents 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)
```
Comment puis-je arrêter xtable d’imprimer le commentaire avant chaque table?
options(xtable.comment = FALSE)
Incluant les commandes de préamplification LaTeX
Il existe deux manières d'inclure les commandes du préambule LaTeX (par exemple, \usepackage
) dans un document RMarkdown.
1. En utilisant l’ header-includes
option YAML:
---
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. Y compris les commandes externes avec 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!
Ici, le contenu de includes.tex est le même que celui que nous avons inclus avec header-includes
.
Ecrire un nouveau modèle
Une troisième option possible consiste à écrire votre propre modèle LaTex et à l'inclure avec un template
. Mais cela couvre beaucoup plus la structure que le préambule.
---
title: "My Template"
author: "Martin Schmelzer"
output:
pdf_document:
template: myTemplate.tex
---
Y compris les bibliographies
Un catalogue de bibtex peut facilement être inclus avec l’option bibliography:
YAML:. Un certain style pour la bibliographie peut être ajouté avec biblio-style:
Les références sont ajoutées à la fin du document.
---
title: "Including Bibliography"
author: "John Doe"
output: pdf_document
bibliography: references.bib
---
# Abstract
@R_Core_Team_2016
# References
Structure de document basique de R-markdown
Morceaux de code R-markdown
R-markdown est un fichier de démarquage avec des blocs de code R intégrés appelés morceaux . Il existe deux types de morceaux de code R: inline et block .
Les morceaux inline sont ajoutés à l'aide de la syntaxe suivante:
`r 2*2`
Ils sont évalués et insèrent leur réponse en sortie.
Les blocs de blocs ont une syntaxe différente:
```{r name, echo=TRUE, include=TRUE, ...}
2*2
````
Et ils viennent avec plusieurs options possibles. Voici les principaux (mais il y en a beaucoup d'autres):
- echo (boolean) contrôle si le code contenu dans le bloc sera inclus dans le document
- include (booléen) contrôle si la sortie doit être incluse dans le document
- fig.width (numérique) définit la largeur des chiffres de sortie
- fig.height (numeric) définit la hauteur des chiffres de sortie
- fig.cap (personnage) définit les légendes des figures
Ils sont écrits dans un simple format tag=value
, comme dans l'exemple ci-dessus.
Exemple de document R-markdown
Vous trouverez ci-dessous un exemple de base du fichier R-markdown illustrant la manière dont les fragments de code R sont incorporés dans le 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"))
```
Conversion de R-markdown en d'autres formats
Le package R knitr
peut être utilisé pour évaluer les blocs R à l'intérieur du fichier R-markdown et le transformer en fichier de démarquage régulier.
Les étapes suivantes sont nécessaires pour transformer le fichier R-markdown en pdf / html:
- Convertir le fichier R-
knitr
en fichier deknitr
utilisantknitr
. - Convertissez le fichier de démarques obtenu en pdf / html en utilisant des outils spécialisés comme pandoc .
En plus de ce qui précède knitr
paquet a des fonctions d'encapsulation knit2html()
et knit2pdf()
qui peut être utilisé pour produire le document final sans l'étape intermédiaire consistant à convertir manuellement au format de démarquage:
Si le fichier d'exemple ci-dessus a été enregistré sous le nom de income.Rmd
il peut être converti en fichier pdf
à l'aide des commandes R suivantes:
library(knitr)
knit2pdf("income.Rmd", "income.pdf")
Le document final sera similaire à celui ci-dessous.