> Divers > knitr > knitr
knitr
L'objectif de kintr est de générer automatiquement un document comportant à la fois la description d'une étude et les résultats chiffrés obtenus par calcul avec R :
- on écrit un document template avec la description de l'étude et on inclut dans ce document des appels à R.
- ensuite, le document est passé à knit qui exécute le code R inclus et génère un nouveau document (voir ci-dessous pour le type).
- enfin, un autre outil permet de faire la conversion en document final (voir ci-dessous)
- kintr peut être utilisé pour faire de l'html ou faire du pdf (avec latex)
Utilisation pour faire des documents html :
- le document de départ doit avoir une extension .Rmd (R markdown) et contient du texte markdown avec des appels à R. markdown est une façon de formatter du texte de manière très simple pour générer de l'html (voir ci-dessous pour un petit mémo).
- conversion du .Rmd en .md (markdown avec les appels R remplacés par les valeurs) : R -e 'library(knitr); knit("myFile.Rmd")' : crée un fichier "myFile.md"
- conversion du fichier markdown en fichier html se fait avec une autre librarie "markdown" : R -e 'library(markdown); markdownToHTML("myFile.md", "myFile.html")' : crée le fichier "myFile.html" final
- on peut tout faire en une étape : R -e 'library(knitr); knit2html("myFile.Rmd")' : génère directement le fichier html.
Appels à R dans du markdown (fichier .Rmd) :
- du code évalué et imprimé :
```{r mySectionName, options}
summary(lm(y ~ x))
```
- code évalué mais non affiché dans le document :
```{r mySectionName, echo=FALSE}
summary(lm(y ~ x))
```
- options possibles :
- echo=FALSE : code non montré.
- fig.width=8, fig.height=6 : dimension de la figure.
- echo=FALSE : code non montré.
- code en ligne : nombre de lignes : `r nrow(fr)`
- du code non évalué :
```
code non évalué
```
- pour positionner des options globales :
```{r global_options, include=FALSE}
opts_chunk$set(fig.width=12, fig.height=8, fig.path='Figs/', echo=FALSE)
```
- tables avec des données (en police fixe) :
```{r tableExample}
kable(myFrame)
```
- pour faire une réelle table html, avec le package xtable :
```{r echo=FALSE, results="asis"}
library(xtable)
print(xtable(myFrame), type = "html")
Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R