-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path25-Informes.Rmd
151 lines (112 loc) · 5.24 KB
/
25-Informes.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Generación de informes
======================
```{r , child = '_global_options.Rmd'}
```
Una versión más completa de este capítulo está disponible en el
[apéndice](https://rubenfcasal.github.io/bookdown_intro/rmarkdown.html) del libro
[Escritura de libros con bookdown](https://rubenfcasal.github.io/bookdown_intro)
R Markdown
----------
R-Markdown es recomendable para difundir análisis realizados con `R` en formato HTML, PDF y DOCX (Word), entre otros.
### Introducción
R-Markdown permite combinar Markdown con `R`. [Markdown](http://daringfireball.net/projects/markdown/) se diseñó inicialmente para la creación de páginas web a partir de documentos de texto de forma muy sencilla y rápida (tiene unas reglas sintácticas muy simples). Actualmente gracias a múltiples herramientas como [pandoc](http://pandoc.org/) permite generar múltiples tipos de documentos (incluido LaTeX; ver [Pandoc Markdown](http://rmarkdown.rstudio.com/authoring_pandoc_markdown.html))
Para más detalles ver <http://rmarkdown.rstudio.com>.
También se dispone de información en la ayuda de *RStudio*:
- *Help > Markdown Quick Reference*
- *Help > Cheatsheets > R Markdown Cheat Sheet*
- *Help > Cheatsheets > R Markdown Reference Guide*
Al renderizar un fichero rmarkdown se generará un documento que incluye el código `R`
y los resultados incrustados en el documento.
En *RStudio* basta con hacer clic en el botón **Knit HTML**.
En `R` se puede emplear la funcion `render` del paquete *rmarkdown*
(por ejemplo: `render("8-Informes.Rmd")`).
También se puede abrir directamente el informe generado:
```
library(rmarkdown)
browseURL(url = render("8-Informes.Rmd"))
```
### Inclusión de código R
Se puede incluir código R entre los delimitadores ` ```{r} ` y ` ``` `. Por defecto, se mostrará el código, se evaluará y se mostrarán los resultados justo a continuación:
```{r}
head(mtcars[1:3])
summary(mtcars[1:3])
```
En *RStudio* pulsando "Ctrl + Alt + I" o en el icono correspondiente se incluye un trozo de código.
Se puede incluir código en línea empleando `r inline("código")`,
por ejemplo `r inline("2 + 2")` produce `r 2 + 2`.
### Inclusión de gráficos
Se pueden generar gráficos:
```{r figura1, echo=FALSE}
hist(mtcars$mpg)
```
Los trozos de código pueden tener nombre y opciones, se establecen en la cabecera de la forma
` ```{r nombre, op1, op2} `
(en el caso anterior no se muestra el código, al haber empleado ` ```{r, echo=FALSE} `).
Para un listado de las opciones disponibles ver <http://yihui.name/knitr/options>.
En *RStudio* se puede pulsar en los iconos a la derecha del chunk para establecer opciones,
ejecutar todo el código anterior o sólo el correspondiente trozo.
### Inclusión de tablas
Las tablas en markdown son de la forma:
```
| First Header | Second Header |
| ------------- | ------------- |
| Row1 Cell1 | Row1 Cell2 |
| Row2 Cell1 | Row2 Cell2 |
```
Por ejemplo:
Variable | Descripción
-------- | -----------------------------------------------------------
mpg | Millas / galón (EE.UU.)
cyl | Número de cilindros
disp | Desplazamiento (pulgadas cúbicas)
hp | Caballos de fuerza bruta
drat | Relación del eje trasero
wt | Peso (miles de libras)
qsec | Tiempo de 1/4 de milla
vs | Cilindros en V/Straight (0 = cilindros en V, 1 = cilindros en línea)
am | Tipo de transmisión (0 = automático, 1 = manual)
gear | Número de marchas (hacia adelante)
carb | Número de carburadores
Para convertir resultados de R en tablas de una forma simple se puede emplear la función `ktable` del paquete *knitr*:
```{r kable}
knitr::kable(
head(mtcars),
caption = "Una kable knitr"
)
```
Otros paquetes proporcionan opciones adicionales: *xtable*, *stargazer*, *pander*, *tables* y *ascii*.
### Extracción del código R
Para generar un fichero con el código R se puede emplear la función `purl` del paquete *knitr*. Por ejemplo:
```
purl("8-Informes.Rmd")
```
Si se quiere además el texto rmarkdown como comentarios tipo *spin*, se puede emplear:
```
purl("8-Informes.Rmd", documentation = 2)
```
Spin
----
Una forma rápida de crear este tipo de informes a partir de un fichero de código R es emplear la funcion
`spin` del paquete *knitr* (ver p.e. <http://yihui.name/knitr/demo/stitch>).
Para ello se debe comentar todo lo que no sea código R de una forma especial:
- El texto rmarkdown se comenta con `#' `. Por ejemplo:
```
#' # Este es un título de primer nivel
#' ## Este es un título de segundo nivel
```
- Las opciones de un trozo de código se comentan con `#+`. Por ejemplo:
```
#+ setup, include=FALSE
opts_chunk$set(comment=NA, prompt=TRUE, dev='svg', fig.height=6, fig.width=6)
```
Para generar el informe se puede emplear la funcion `spin` del paquete *knitr*. Por ejemplo: `spin("Ridge_Lasso.R"))`.
También se podría abrir directamente el informe generado:
```
browseURL(url = knitr::spin("Ridge_Lasso.R"))
```
Pero puede ser recomendable renderizarlo con rmarkdown:
```
library(rmarkdown)
browseURL(url = render(knitr::spin("Ridge_Lasso.R", knit = FALSE)))
```
En *RStudio* basta con pulsar "Ctrl + Shift + K" o seleccionar *File > Knit Document* (en las últimas versiones también *File > Compile Notebook* o hacer clic en el icono correspondiente).