Cómo hacer presentaciones en R

Paula López Casado

22 de mayo de 2017

¿El principio del fin del PowerPoint?

R Markdown

  • Documentos: HTML, LaTeX/PDF, Microsoft Word, Tufte-style handouts
  • Documentos interactivos: HTML Widgets, Shiny
  • Dashboards: Gauges, values boxes, HTML Widgets, Shiny, Storyboard
  • Libros: HTML, PDF, EPUB
  • Páginas web
  • Plantillas de JSS, R Journal, Skeleton, CV
  • Viñetas de paquetes
  • Presentaciones: Beamer, Slidy, ioslides, reveal.js

Ventajas de utilizar R

  • Trabajar en un mismo framework (RStudio)
  • Incorporar código y/o salidas de R automáticamente
  • Documentos reproducibles (el código se ejecuta cada vez que un documento es generado)
  • Estilo automático

Formatos

Cómo empezar

  1. Crear el documento R markdown

    File > New file > R Markdown… > Presentation

  2. Introducir título (Title) y autor (Author)

  3. Elegir el formato deseado: ioslides, slidy, beamer

Para utilizar revealjs

  1. install.packages('revealjs')

  2. File > New File > R Markdown… > From Template > Reveal.js Presentation (HTML)

Cabecera

---
title: "Presentación con ioslides"
author: "Grupo R"
date: "22 de mayo de 2017"
output: ioslides_presentation
---

Añadir opciones

---
title: "Presentación con ioslides"
author: "Grupo R Madrid"
date: "21 de mayo de 2017"
output: 
  ioslides_presentation:
    incremental: false
    self-included: true
---

Algunas opciones

hightlight: tango / pygments / kate / monochrome / espresso / zenburn / haddock 
df_print: kable / tibble / paged (ioslides)
css: style.css
self-contained: true / false
lib-dir: libs
incremental: false / true
widescreen: false / true
smaller: false / true
keep_tex: false / true
keep_md: false / true

Contenido

R chunks

{r, echo=TRUE, eval=FALSE, fig.align='center', warning=FALSE}

library(viridis)
library(ggplot2)
library(hexbin)
ggplot(data.frame(x = rnorm(10000), y = rnorm(10000)), aes(x = x, y = y)) +
  geom_hex() + coord_fixed() +
  scale_fill_viridis() + theme_bw()

Más sobre R Chunks

Código + Output

library(magrittr)
library(highcharter)
highchart() %>% 
  hc_title(text = "Scatter chart with size and color") %>% 
  hc_add_series_scatter(mtcars$wt, mtcars$mpg,
                        mtcars$drat, mtcars$hp)

Sólo output

Sólo código

library(ggplot2)

# Use fixed-width bins
ggplot(mtcars, aes(x = mpg)) +
  geom_dotplot(method="histodot", binwidth = 1.5)

Outputs

  • Objetos R
  • Ecuaciones
  • Tablas
  • Gráficos estáticos
  • Gráficos interactivos

Objetos R

## 
## Call:
## lm(formula = weight ~ group - 1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.0710 -0.4938  0.0685  0.2462  1.3690 
## 
## Coefficients:
##          Estimate Std. Error t value Pr(>|t|)    
## groupCtl   5.0320     0.2202   22.85 9.55e-15 ***
## groupTrt   4.6610     0.2202   21.16 3.62e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6964 on 18 degrees of freedom
## Multiple R-squared:  0.9818, Adjusted R-squared:  0.9798 
## F-statistic: 485.1 on 2 and 18 DF,  p-value: < 2.2e-16

Ecuaciones

Probabilidad binomial:

\[f(y|N,p) = {{N}\choose{y}} \cdot p^y \cdot (1-p)^{N-y}\]

Tablas

n <- 100
x <- rnorm(n)
y <- 2*x + rnorm(n)
out <- lm(y ~ x)
library(knitr)
kable(summary(out)$coef, digits=2)
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.15 0.10 -1.47 0.14
x 2.05 0.09 21.71 0.00

Gráficos Interactivos

Cómo publicar la presentación

  • RPubs
  • GitHub
  • PDF
  • Página web
  • HTML

Conclusiones

  1. Sintaxis sencilla
  2. Código reproducible
  3. Resultado profesional y actual
  4. Comodidad de trabajo

Saber más

GRACIAS

  • Twitter: @paulalcasado
  • Blog: paulalcasado.wordpress.com
  • Git: paulalc.github.io/Rpresentations
  • Linkedin: /in/paulalopezcasado/