Comencemos cargando el tidyverse
y nuestros datos:
library(tidyverse)
## -- Attaching packages ------------- tidyverse 1.3.0 --
## v ggplot2 3.3.2 v purrr 0.3.4
## v tibble 3.0.3 v dplyr 1.0.2
## v tidyr 1.1.2 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.5.0
## -- Conflicts ---------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
datos_midwest <- read_csv("datos/midwest.csv")
## Parsed with column specification:
## cols(
## .default = col_double(),
## county = col_character(),
## state = col_character(),
## category = col_character()
## )
## See spec(...) for full column specifications.
Como hemos visto, podemos generar tablas “a mano” con R Markdown:
Nombre | Descripción |
---|---|
Juan | Un estudiante |
Ana | Una estudiante |
Supongamos que tenemos un data frame, como el siguiente, y queremos insertarlo como tabla en nuestro reporte.
conteo_estados <- datos_midwest %>%
count(state)
Podemos insertarlo como tabla HTML gracias al paquete kableExtra
:
# install.packages("kableExtra")
library(kableExtra)
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
kable(conteo_estados)
state | n |
---|---|
IL | 102 |
IN | 92 |
MI | 83 |
OH | 88 |
WI | 72 |
Ojo con la opción del chunk (results="asis"
): estamos dándole HTML directo a R Markdown, por lo que debemos decirlo explícitamente.
Como siempre en los paquetes de R, hay muchas opciones en kableExtra
. Aquí está la guía de HTML, de las viñetas del paquete. Aquí con unas opciones simples, que hacen que la tabla se vea mejor:
kable(conteo_estados) %>%
kable_styling(bootstrap_options = c("striped", "hover"),
full_width = F)
state | n |
---|---|
IL | 102 |
IN | 92 |
MI | 83 |
OH | 88 |
WI | 72 |
Hemos visto la siguiente forma, muy simple, para insertar imágenes:
A menudo queremos personalizar cómo se muestran las imágenes, lo que podemos conseguir con las opciones del chunk. En este caso, bajamos a un 50% el tamaño de la imágenes y la alineamos en el centro. Por cierto, ¿qué está haciendo la opción echo=F
aquí?
Las mismas opciones de chunk funcionan con gráficos!
ggplot(datos_midwest, aes(x = log(popdensity), y = percbelowpoverty)) +
geom_point()
ggplot(datos_midwest, aes(x = log(popdensity), y = percbelowpoverty)) +
geom_point()
Podemos hacer ecuaciones en R Markdown usando la sintaxis de \(\LaTeX\). Es bastante difícil de leer, pero muy completa (podemos hacer de todo). Un buen torpedo es DIMACS (s.f.).
\[ x^n + y^n = z^n \]
R Markdown puede compilarse a HTML o PDF (\(\LaTeX\)). Esto permite generar múltiples tipos de documento.
A continuación veremos algunas características básicas de algunos tipos de documento. Algunos consejos aplican solo para computadores personales (como instalar \(\LaTeX\) o paquetes), y los documentos van a funcionar de inmediato en esta sesión de RStudio Cloud.
Este es el formato que hemos estado utilizando.
Una de las gracias del HTML es que es interactivo, permite GIFs, videos, etc, que no podríamos poner en PDF.
Hay muchas plantillas. Por ejemplo, las de prettydoc
.
revealjs
)Hay un ejemplo en los archivos 11c_diapos_html...
.
Una vez que tengamos instalado el paquete revealjs
, podemos crear una nueva presentación con “File > New File > R Markdown > From Template > Reveal.js Presentation (HTML)”.
Esta guía contiene las opciones.
Hay un ejemplo en los archivos 11d_reporte_pdf...
.
Podemos crear un nuevo reporte con “File > New File > R Markdown > PDF”.
Para que funcionen, debemos tener \(\LaTeX\) en nuestro computador (aquí en RStudio Cloud ya viene). La forma más fácil instalarlo localmente es con el paquete de R tinytex
.
Algunas cosas en nuestro código podrían tener que cambiar. Por ejemplo, kableExtra
va a funcionar un poco distinto; aquí está la guía de kableExtra
para reportes en PDF.
beamer
)Hay un ejemplo en los archivos 04_diapos_pdf...
.
No debemos instalar el paquete beamer
antes, RStudio lo instalará por nosotros si no lo tenemos.
Podemos crear diapositivas en pdf con “File > New File > R Markdown > Presentation > PDF (Beamer)”.
Para que funcionen, debemos tener \(\LaTeX\) en nuestro computador (aquí en RStudio Cloud ya viene). La forma más fácil instalarlo localmente es con el paquete de R tinytex
.
Aquí hay una guía para presentaciones con beamer
.
pagedown