library(dplyr)
library(readr)
library(ggplot2)
library(knitr)
PEC 1
1 Introducción
Lo primero que haremos es pulsar el botón Render. Como ve, R nos lee el documento de Quarto y nos convierte su contenido en un archivo Html. Ve comparando ambos documentos y observa cómo los elementos de Quarto se traducen a Html.
A continuación intentamos resumir, de forma práctica, los elementos esenciales de un documento de Quarto.
El paso siguiente es jugar con los formatos que ofrece Quarto. Según la web de Jordi Mas Elias, ahora debo hacer una lista con:
- Un elemento
- Y dos elementos
2 Una almohadilla (#) al principio de línea crea un título de sección
Si nada indicamos al principio de la línea, podemos introducir el texto normal como estamos haciendo ahora. Por un salto de párrafo, debemos dejar dos espacios al final. Fíjese que al final de esta línea hay dos espacios.-> Esta línea, en cambio, no terminaremos con espacios. Por tanto, no nos dará un salto de párrafo. Con el guión podemos crear puntos (bullet points):
- Así se crean las negritas.
- Y así las cursivas.
- Y así ponemos el texto
en formato de código
.
La otra opción es crear puntos de enumeración:
- Si queremos enlazar una página web lo haremos de esta forma.
- De nuevo, recuerde dejar dos espacios al final para dar un salto de párrafo. La otra opción para dar saltos de párrafos es simplemente dejar una línea en blanco entre párrafos.
Estos son los logos de RMarkdown y Knitr. Si queremos poner imágenes directamente, utilizaremos el signo de exclamación, seguido de los corchetes y entre paréntesis el enlace a la imagen.
2.1 Con dos almohadillas creamos una subsección
Y a continuación volvemos a ubicar texto.
3 Chunks
Los chunks sirven para añadir código de R al texto. Los chunks son cajas grises que encontraremos a lo largo de este script de Quarto. Dentro de los chunks, pondremos el código de R. Para crear nuevos chunks:
- Podemos simplemente seleccionar un chunk ya creado y copiar y enganchar su contenido.
- O, alternativamente, podemos teclear
Ctrl+Alt+I
(Mac:Cmd+Option+I
).
Opcionalmente, podemos poner un título en los chunks. El primer chunk que hemos creado al inicio del documento se llama setup
. El próximo chunk que vamos a crear se llamará packages
. Y dentro del chunk, cargamos los paquetes dplyr, readr, ggplot2 y knitr.
Observe cómo Quarto ha convertido esta parte en Html. Por defecto, Quarto nos enseña el código del chunk y todos los resultados de produce. Como siempre que cargamos el paquete dplyr nos aparecen unos mensajes de aviso en la consola, también veremos estos mensajes impresos en el documento Html.
Como no nos interesa que aparezcan estos mensajes, vamos a eliminarlos y así de paso aprendemos más sobre el funcionamiento de los chunks:
- En el chunk que hemos creado previamente, y después de la palabra
packages
, añadiremos una coma seguido demessage = FALSE
. - El contenido de dentro de las claves debería quedar de la siguiente manera:
{r packages, message = FALSE}
. - Ahora volvemos a generar Html. Pulsamos el botón Render y observamos los cambios.
Como vemos, el chunk contiene código e indicaciones sobre cómo se mostrará el código en Html. Las indicaciones que podemos dar son las siguientes:
message
: TRUE por defecto, deja de mostrar los mensajes cuando cambiamos a FALSE.warning
: TRUE por defecto, deja de mostrar los avisos cuando cambiamos a FALSE.echo
: TRUE por defecto, esconde el código cuando lo cambiamos a FALSE.eval
: TRUE por defecto, no reproduce el resultado cuando lo cambiemos a FALSE.include
: TRUE por defecto, lo esconde todo cuando lo cambiamos a FALSE.
Veamos ahora algunos ejemplos de cómo utilizar los chunks. El siguiente chunk, llamado nmc
, está listo para mostrar el código de la siguiente manera:
- El código se mostrará en Html, porque por defecto en el chunk
setup
está indicadoecho = TRUE
. - No reproducirá el resultado, porque hemos puesto explícitamente que
eval = FALSE
.
State | Year | Military Expenditure |
---|---|---|
USA | 1816 | 3823 |
USA | 1817 | 2466 |
USA | 1818 | 1910 |
USA | 1819 | 2301 |
USA | 1820 | 1556 |
USA | 1821 | 1612 |
USA | 1822 | 1079 |
USA | 1823 | 1170 |
USA | 1824 | 1261 |
USA | 1825 | 1336 |
Ahora hacemos algunos cambios en el chunk anterior:
- Ponemos
eval = TRUE
, por lo que nos reproducirá el código. - Podemos
echo = FALSE
, por lo que nos esconderá el código. - Ponemos
message = FALSE
, por lo que nos eliminará el mensaje que aparece. - El chunk debería quedar de la siguiente manera:
{r nmc, eval = TRUE, echo = FALSE, message = FALSE}
. - Pulsamos Render de nuevo.
4 Imágenes y gráficos
Los chunks también sirven para reproducir imágenes. Por eso ponemos dentro del chunk la función include_graphics()
del paquete knitr
.
- Realiza los cambios en el chunk para esconder código y reproducir el resultado.
Como en el chunk previo hemos creado el objeto nmc
dentro del RMarkdown, en los siguientes chunks podremos utilizarlo para reproducir resultados. Por ejemplo, en el siguiente código reproduce una figura a partir del objeto nmc
. Es muy importante que si no creamos el objeto previamente (en el mismo chunk o en un chunk anterior, Quarto no sabrá de qué objeto estamos hablando).
- Simplemente, cambiemos
eval
porecho
.