+ - 0:00:00
Notes for current slide
Notes for next slide

¿Alguien hizo su tarea y desea compartirla con nosotros?

Clase 2:

 

Reportes parametrizados

Autor: Lucio Cornejo

1 / 15

Repaso rápido de la sesión pasada

Estructura de un documento Rmd

 

 

¿Cómo se generan los archivos?

 

rernder_process

2 / 15

¿Alguien hizo su tarea y desea compartirla con nosotros?

Objetivos de esta sesión:

3 / 15

Objetivos de esta sesión:

  1. Aprender a insertar código en un documento R Markdown.
4 / 15

Objetivos de esta sesión:

  1. Aprender a insertar código en un documento R Markdown.

  2. Familiarizarnos con el formato html_notebook.

5 / 15

Objetivos de esta sesión:

  1. Aprender a insertar código en un documento R Markdown.

  2. Familiarizarnos con el formato html_notebook.

  3. Realizar un reporte no parametrizado.

6 / 15

Objetivos de esta sesión:

  1. Aprender a insertar código en un documento R Markdown.

  2. Familiarizarnos con el formato html_notebook.

  3. Realizar un reporte no parametrizado.

  4. Parametrizar el reporte creado anteriormente.

7 / 15

Chunks : Bloques de código

La sesión pasada, aprendimos que Markdown nos permite incluir código tanto en línea como en bloques, pero para resaltarlo; en cambio, R Markdown sí lo ejecutará.

Markdown

Código en línea:

El comando `mean(edades)` sirve para calcular la media
de un vector denominado _edades_ .

 

Bloque de código:

```r
edades <- c(1,2,3)
mean(edades)
```

R Markdown

Código en línea:

La media del vector _edades_ vale `r mean(edades)`.

 

Chunk:

```{r}
edades <- c(1,2,3)
mean(edades)
```
8 / 15

Propiedades principales de chunks

 

chunks

9 / 15

Mostrar propiedades de chunks en RStudio, trabajando todos juntos.

Chunks de diversos lenguajes

R Markdown admite código de cualquiera de los siguiente lenguajes:

Presionar este texto para mostrarlos u octultarlos. awk
bash
coffee
gawk
groovy
haskell
lein
mysql
node
octave
perl
psql
Rscript
ruby
sas
scala
sed
sh
stata
zsh
highlight
Rcpp
tikz
dot
c
cc
fortran
fortran95
asy
cat
asis
stan
block
block2
js
css
sql
go
python
julia
sass
scss
R
bslib
theorem
lemma
corollary
propositio
conjecture
definition
example
exercise
hypothesis
proof
remark
solution

 

Ejemplos:

Python

```{python, echo = FALSE, eval=FALSE}
# Podemos añadir varias propiedades a un mismo chunk,
# separándolas con coma.
import numpy as np
x = np.cos(0) # vale 1
y = np.sin(0) # vale 0
print(x**2 + y**2) # vale 1
```
10 / 15

JavaScript

 

```{js mi-primer-chunk, include=FALSE}
// Podemos nombrar a cada chunk, ya sea para hacer referencia
// a ellos en nuestro documento Rmd, facilitar el poder ejecutar
// varias veces un mismo chunk, o simplemente para ser más ordenados.
document.addEventListener(
"DOMContentLoaded", //
function() {
// Definimos un array con los meses del año
let meses = ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","setiembre","octubre","noviembre","diciembre"];
// Obtener fecha de hoy
let fecha = new Date();
// Obtener qué día es hoy
let numeroDeDia = fecha.getDate();
// Crear una ventana con un mensaje particular
alert(`Hoy es ${numeroDeDia} de ${meses[fecha.getMonth()]}.`)
}
)
```
11 / 15

¿Qué es un reporte parametrizado?

Es un documento dinámico que cambia en función de la input proporcionada por el usuario o una aplicación.

 

¿Para qué nos sirve un reporte parametrizado?

Nos permite automatizar la creación de reportes o documentos que poseen un modelo similar (template/plantilla) y los cuales se tienen que producir con cierta frecuencia .

Por ejemplo:

  • Análisis de data respecto a algún fenómeno natural periódico.
  • Algunos reportes mensuales o anuales sobre ventas de algún negocio.
  • Horarios.
  • Certificados.
12 / 15

Manos a la obra

 

Para cada link en azul, copiar su contenido (presionar ctrl+A y luego ctrl+C), pegarlo en un nuevo archivo Rmd y guardarlo con el mismo nombre del texto azul; todos los archivos en una misma carpeta.

 

0-html-notebook.Rmd

 

  • Objetivos:
    • Crear nuestro primer html_notebook.
    • Familiarizarnos con propiedades de chunks.

1-parametrizacion-basica.Rmd

 

  • Objetivos:
    • Crear nuestro primer reporte parametrizado.
    • Parametrizar el notebook creado, pero ahora presentado como un documento HTML, pues no hay más código que añadir, solo que ejecutar.
    • Instalaremos el paquete Shiny de R para hacer más interactiva la manera en que definimos parámetros del reporte/documento, esto gracias a los comandos rmarkdown::render("my-file.Rmd",params="ask") y knit with parameters.
13 / 15

Guardar en ua misma carpeta todos los archivos R Markdown que crearemos ahora.

2-parametrizacion-interactiva.Rmd

  • Objetivo: Crear un menú interactivo para definir los parámetros.

3-horario-parametrizado.Rmd

  • Objetivo:
    • Usar parámetros en forma de vectores, para evitar tener que definir una gran cantidad de parámetros, sino más bien parámetros que contienen varios valores.

4-certificado-parametrizados.Rmd

  • Objetivo: Producir varias versiones de un mismo archivo.

 

Último ejemplo:
https://rmarkdown.rstudio.com/articles_mail_merge.html (no descargar)

14 / 15

Repaso rápido de la sesión pasada

Estructura de un documento Rmd

 

 

¿Cómo se generan los archivos?

 

rernder_process

2 / 15

¿Alguien hizo su tarea y desea compartirla con nosotros?

Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
eShow TOC with height equal to the page's
dShow TOC with half the page's height
rMove all the slides to the right side of the page
oTile View: Overview of Slides
Alt + fFit Slides to Screen
Esc Back to slideshow