Programación y manejo de datos con R (Slides 07-B)
Los documentos que generemos serán reproducibles: generaremos directamente el documento final sin copiar ni pegar nada, sino usando código.
Para ello, hemos de aprender a escribir en QMD (Quarto Markdown) (❗❗)
. . . aunque, con Quarto se pueden generar documentos de muchos tipos (artículos académicos, libros, tesis, cartas, cuadros de mando, etc … etc …) y formatos (html, pdf, epub, docx, beamer, pptx, etc … etc …).
Para verlo puedes visitar la Quarto gallery
¿Qué es Quarto?
¿Cómo trabajaremos con Quarto?
No “veremos” a Quarto.
Daremos ordenes a Quarto a través de RStudio
Repito, vamos a trabajar con proyectos, concretamente con …
… Quarto projects o Qprojects
Pero usarlos tiene ventajas. Puedes ver algunas en este post de Jenny Bryan
Para nosotros la principal ventaja consiste en que podremos usar rutas relativas
File > New Project > New Directory > Quarto Project , y ponerle un nombre a la carpeta del Qproject.Tarea 2.3: Creación de un Qproject
Simplemente tienes que crear un Qproject que se llame “my_primer_qproject”
Mejor si creas el Qproject en el Escritorio
Mira cuantos archivos hay en la carpeta del proyecto
Tarea 2.4: Abriendo y cerrando Qproject’s
Cierra RStudio
Vuelve a abrir el Qproject "my_primer_qproject"
Asegúrate de que realmente “estás” en "my_primer_qproject"
.Rproj.qmdVamos ya a crear nuestro primer fichero .qmd
… eso sí, lo crearemos dentro de un Qproject
Tarea 2.5: Crear un fichero .qmd (Un Quarto document)
En el Qproject "my_primer_qproject", crea un “Quarto document”
Durante el proceso de creación te pedirá un “Title” y un “Author”: pon lo que quieras
El fichero que acabamos de crear es nuestro documento fuente
Pégale un vistazo al documento fuente, antes de que Quarto lo procese, para intentar descubrir sus partes
De momento, es mejor que visualicemos el documento en formato “Source”
Procesa (“Render”) el documento .qmd que acabamos de crear.
Al intentar procesarlo te pedirá un nombre. LLamalo index
¿Qué ha pasado finalmente?
Nos servirá para familiarizarnos con :
la interfaz de Rstudio
los conceptos de documento fuente (.qmd) y documento final (.html, .pdf, etc…)
… y empezar a entender la sintaxis de “Quarto Markdown”
Tarea 2.6a: Creamos un nuevo qmd: "prueba_01.qmd"
Vamos a crear un nuevo documento “.qmd”.
Procésalo. Esta vez llámalo prueba_01.qmd
Tarea 2.6b: Reusamos "prueba_01.qmd" para crear un pdf
Vamos a reusar el fichero fuente prueba_01.qmd para generar un pdf. Para ello:
En el encabezamiento has de cambiar “format: html” por “format: pdf”
PERO si al intentar procesarlo te dice que instales “tinytex”, entonces para, no lo hagas!!, ya lo haremos en el descanso. Para ello tendrás que ejecutar en la Terminal quarto install tinytext
Tarea 2.6d: Vamos a cambiar la apariencia visual de las slides
Tarea 2.6e: Ahora vamos a cambiar el “theme” usado en el fichero index.qmd
El listado de “themes” lo tienes aquí
Piensa bien cómo has de dejar el “yaml”. Apóyate en lo que hemos hecho para las slides
La solución está más adelante, pero no la mires
Tarea 2.8: Añade una nueva página a nuestra página web
index.qmdTrabajamos con Qprojects
Documento fuente escrito en Qmd genera diferentes outputs
Tarea 3.0: Vamos a crear un nuevo Qproject
Cierra RStudio
Crea un nuevo Qproject llamado “my_qproject”
Inspecciona los documentos que hay dentro de “my_qproject”
Borra el archivo my_qproject.qmd
Crea un archivo .qmd llamado prueba_01.qmd
.qmd).qmd tienen 3-4 partesEncabezamiento (yaml header)
Trozos de código R (R chunks)
Texto (escrito en Markdown) …
… y todo lo demás: imágenes, links, ecuaciones, etc …
Se (suele) poner al principio del documento, entre estas marcas: ---
En el yaml son MUY importantes los espacios y la indentación
Tarea 3.1: Vamos a jugar con el yaml
En documentos .qmd podemos incorporar código
Código que puede ser ejecutado
Así se podrá mostrar en el documento final tanto el código como los resultados (de la evaluación del código)
Esto es lo que permite que los documentos sean reproducibles
La documentación oficial está aquí
.qmd es código R, debe ir dentro de estas marcas:knitr procesen el chunk, se interpretará como código R y ejecutará las instrucciones, de forma que, en el documento final, se mostrará el output generado por el chunk.| Opción | (valor por defecto) | ¿Que hace? |
|---|---|---|
echo |
true | Incluye el código en el documento final |
eval |
true | Evalúa el código |
warning |
true | Incluye los avisos en el documento final |
message |
true | Incluye los mensajes |
Tarea 3.2: Vamos a incorporar un chunk a nuestro .qmd
Utiliza el archivo prueba_01.qmd para insertar un chunk de código R con las siguientes instrucciones:
```{r}
# install.packages(tidyverse)
library(ggplot2)
ggplot(iris, aes(Sepal.Length, Petal.Length)) + geom_point()
```Si no tuvieses el paquete tidyverse instalado, puedes usar este otro chunk:
Ayudita con las marcas de los chunks
Tarea 3.2b: Vamos a jugar con la opciones de los chunks
Incorpora al chunk las siguientes opciones: echo y eval
¿Cuales son las opciones por defecto para echo y eval?
message y labelexecute: