Primeros pasos con R/RStudio y Quarto

(Web del curso aquí)

26 de junio de 2023

Primeras ideas



  1. Documentos ¿reproducibles?

  2. ¿Qué son R/RStudio y Quarto?

Documentos ¿reproducibles?

  • Todos tenemos que hacer documentos con algún contenido estadístico: informes o transparencias o ….

  • Al usar Quarto y R, nuestros informes serán Reproducibles!!

  • ¿Cómo lo haremos?


Visualmente:

Visualmente (pero más realista)


source code (escrito en QMD)




output



Investigación reproducible

Es un tema de creciente interés, por ejemplo aquí y aquí.


Reproducibility is the minimum standard in research quality. When with the same data and analysis we obtain the same results and we are able to check the results of others. – Why open science is just good science in a digital era.


A core principle of good science is that results should be repeatable and reproducible by others. Unfortunately the misuse of data analysis, leading to unreliable results, is a known issue. – Tidyverse blog

Ventajas de la investigación reproducible


  • Credibilidad de los resultados

  • Facilidad de replicar

  • Detección de errores

  • Facilita la colaboración

💬

Ventajas de los documentos reproducibles

Un documento reproducible provee a los usuarios todo lo necesario para reproducir (y confirmar) los resultados de este.

  • Los mismos que la investigación reproducible:   credibilidad de los resultados,   facilidad de replicar,   detección de errores,   facilita la colaboración⁉️
  • Un documento fuente puede generar documentos de varios tipos (tutoriales, slides, …)
  • Informes periódicos (aquí una buena justificación)

  • Informes parametrizados

  • Facilidad de generación de páginas web (🤔)1



Documentos reproducibles: más ventajas

  • Si incluyes código, se acaba el corta y pega para gráficos, tablas de resultados, etc…
  • Si los datos cambian o si detectas un error en los datos o en otro elemento, no hay necesidad de rehacerlo todo
  • Gestión de las referencias bibliográficas
  • Gestión de las referencias a cuadros y gráficos
  • Forma sencilla ( 🤔 ) de cambiar el formato visual de tus documentos
  • Elementos interactivos. Por ejemplo aquí
  • Los documentos .qmd son documentos de texto: control de versiones
  • Ahorras tiempo 🤔 🤔 🤔

Entorno R: ¿qué son Quarto/RStudio/R?

  • Son 3 programas de ordenador

    • R es un lenguaje de programación y un entorno para hacer análisis estadísticos (y muchas más cosas)

    • RStudio es un IDE (para usar R, y Quarto, de manera más cómoda)

    • Quarto es el que realmente hará los documentos, webs etc …


⚠️ Importante!! sólo interactuaremos con RStudio

  • No “veremos” a R ni a Quarto.

  • Daremos ordenes a R y Quarto a través de RStudio

  • La User Guide de RStudio

Más detalles sobre Quarto

  • Es un sistema para escribir, para generar publicaciones científico-técnicas, dentro del ecosistema R.

  • Es la segunda generación de Rmarkdown



Primeros pasos



  • Instalación

  • Saber dar órdenes a R a través de RStudio

  • Crear proyectos

Instalación

  • Tenemos que instalar los 3 programas.


  • En los 3 casos has de (lógicamente) utilizar el instalador adecuado para tu sistema operativo

2 formas de dar ordenes a R (usando RStudio)

Al abrir RStudio vemos (al ppio) 3 paneles

  • La Consola es el panel de la izquierda

  • El símbolo > en la consola se llama prompt

  • Para dar una orden a R (desde la consola) solo tienes que escribir la orden (p.ej. 2 + 2) y pulsar Enter

  • Inconveniente: hay que escribir y ejecutar las instrucciones una a una


Tarea 2.1: Dar ordenes a R (a través de RStudio) desde la Consola

Desde la Consola de RStudio haz que R haga las siguientes operaciones:

2 + 2
sqrt(9)



  • Un “script” no es más que un fichero (con extensión .R) que contiene instrucciones o código R

  • Podemos crear un fichero .R siguiendo esta ruta de menús: File > New file > R Script.

  • Se abrirá un cuarto panel en RStudio, justo encima de la Consola

  • Una vez has creado el fichero, escribes la instrucción y pulsas las teclas CONTROL + Enter

  • En un script sólo se pueden escribir 2 cosas:

    • Comentarios (si la linea comienza por el símbolo #)

    • Código R (todas las lineas que no empiezan por #)

Tarea 2.2: Dar ordenes a R con scripts

Crea un script (o fichero .R) para que R haga las siguientes operaciones:


# operaciones básicas con R
2 + 2    
2 - 2    
2 * 2    
2 / 2 

# raíz cuadrada
sqrt(9)


Trabajaremos usando proyectos



Repito, vamos a trabajar con proyectos, concretamente con …


… Quarto projects o Qprojects

¿Qué es un Qproject?

  • Es simplemente una carpeta donde tendremos los “materiales” que necesitemos para uno de nuestros proyectos
  • 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


¿Cómo se crea un Qproject?

  • En RStudio has de seguir la siguiente ruta de menús: 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



Dos cosillas sobre los Qprojects

  1. ¿Cómo abrirlos?
    • Siempre desde el fichero con icono azulito y extensión .Rproj

  1. ¿Cómo saber si realmente estás dentro de un proyecto?
    • En la esquina superior-izquierda de tu RStudio verás el icono azulito junto al nombre de tu 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"


  • Pega un vistazo a los 3 documentos que hay dentro del Qproject


Creación de documentos .qmd




Vamos 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?





Vamos a jugar un rato con RStudio



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.


Instalación de tinytext

Si no tuvieses una distribución de Latex y quisieras instalar tinytext tendrías que :

  • o ejecutar en la Terminal quarto install tinytext

  • o ejecutar en la Consola lo siguiente

install.packages("tinytex")
tinytex::install_tinytex()


Tarea 2.6c: Usamos "prueba_01.qmd" para generar unas slides

  • Reutiliza "prueba_01.qmd" para generar unas “revealjs” slides. Solo has de cambiar el formato de salida!!
  • Si avanzas aparecerá la solución. Inténtalo sin mirar la solución!!!!
  • La solución:
---
title: "prueba_01"
format: revealjs
---


Tarea 2.6d: Vamos a cambiar la apariencia visual de las slides

  • Vamos a cambiar el theme de las “revealjs” slides. Para ello:
---
title: "prueba_01"
format:
  revealjs:
    theme: night
---




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


  • Solución: has de dejar el “YAML” del qmd como:
---
title: "Mi documento"
author: "Nosotros"
date: today
format:
  html:
    theme: sandstone
---


Tarea 2.7: Vamos a usar nuestro Qproject para generar una página web

  • Modifica el archivo _quarto.yml para que su contenido sea:


project:
  type: website
 
website:
  navbar:
    right: 
      - index.qmd


  • Para generar la página web tienes que hacer un “Build > Render Project”



Tarea 2.8: Añade una nueva página a nuestra página web

  • Pista: puedes reutilizar el contenido del fichero index.qmd

Una solución a la Tarea 2.8

project:
  type: website
 
website:
  title: "Mi web"
  navbar:
    background: "#DF55CB"
    right: 
      - text: "Info"
        href: index.qmd
      - text: "Más Info"
        href: index.qmd
    left: 
      - icon: house-door
        href: index.qmd       

Tarea 2.8b: Haz que se vean las slides en la web

  • Esta vez no hay solución

Tarea 2.8c: Haz que se vean el fichero prueba_01.pdf en la web

  • Tampoco hay solución