Como ya hemos podido ver en el apartado anterior, los chunks de Quarto nos permiten integrar tablas, gráficos e imágenes. En este apartado veremos un poco más en detalle cómo funciona la creación de cada uno de estos elementos.
15.2 Marco de datos
Para reproducir un marco de datos, en primer lugar deberemos haberlo creado previamente como objeto en el mismo chunk o en algún chunk anterior. De lo contrario, cuando pulsemos Render no nos reconocerá el objeto y el proceso se detendrá. En el tutorial, podemos observar que en uno de los primeros chunks del documento hemos creado el objeto nmc. Por tanto, podremos realizar cualquier acción con nmc siempre y cuando en el documento de Quarto la acción se haga en una línea posterior a la creación del objeto.
Esto es lo que hemos hecho. En una línea del documento hemos creado el objeto y en una línea de código posterior hemos aplicado una acción a ese objeto. Si el marco de datos en cuestión es de tipo tibble, nos reproducirá las 10 primeras observaciones en un formato muy similar al que vemos cuando lo reproducimos en la consola.
Sin embargo, hay funciones que nos permiten presentar los marcos de datos en un formato visualmente mucho más atractivo que mediante la opción que acabamos de ver. Una de ellas es la función kable() del paquete knitr. Esta función nos reproduce por defecto todas las filas del marco de datos. Para evitar que en Html nos reproduzca las más de 14.000 filas del objeto nmc, lo más adecuado es combinar las funciones kable() y head(), como vemos en el siguiente código, donde pedimos que nos reproduzca solo las ocho primeras filas de nmc y nos lo muestre en formato kable.
Una segunda alternativa para visualizar marcos de datos en Quarto es la función datatable() del paquete DT. Esta función es interesante porque presenta el marco de datos con distintos campos dinámicos que nos permiten navegar por el marco de datos, seleccionar el número de filas que visualizamos o filtrar las filas por un valor en concreto.
Sea cual sea el formato que escojamos, lo normal será realizar algunas modificaciones en los datos antes de presentar el marco de datos. Por eso lo más recomendable es utilizar las funciones pipe (las veremos con detalle más adelante en otro módulo). Las funciones pipe se articulan con el símbolo |> y nos sirven para enlazar funciones que tienen como denominador común un mismo objeto. Por ejemplo, en el siguiente código:
Utilizamos el marco de datos nmc.
Seleccionamos y renombramos las variables que nos interesan con select().
Filtramos las primeras ocho observaciones con head().
Mostramos los datos en formato kable()
nmc|>select(State =stateabb, Year =year, Population =tpop, CINC =cinc)|>head(8)|>knitr::kable()
State
Year
Population
CINC
USA
1816
8659
0.0396975
USA
1817
8899
0.0358166
USA
1818
9139
0.0361265
USA
1819
9379
0.0371332
USA
1820
9618
0.0370869
USA
1821
9939
0.0341731
USA
1822
10268
0.0329391
USA
1823
10596
0.0331075
Cuidado con kable
En Quarto, con la función kable() las tablas se reproducen siempre con todas sus observaciones. Esto significa que si una tabla tiene 1.000 observaciones, se reproducirá entera si no la cortamos mediante código. Lo aconsejable es utilitzar primero head() para mostrar solo las primeras observaciones del marco de datos.
Ejercicio 15.1 (Modifica el marco de datos) Modifica el código anterior para que en tu tutorial aparezcan:
Las 10 primeras filas del marco de datos.
Las columnas State, Year y Military Expenditure (para renombrar una variable con espacios dentro de select() tendrás que hacerlo entre acentos abiertos: `Military Expenditure`).
15.3 Imatges
Tenemos dos formas de insertar imágenes en Quarto.
Con los símbolos ![](), donde dentro de los corchetes podemos indicar opcionalmente el título de la imagen y dentro del paréntesis indicaremos, entre comillas, la dirección donde se encuentra la imagen. En lugar de la dirección dentro del directorio de trabajo, también podemos indicarle una dirección web.

A través de un chunk, con la función include_graphics() del paquete knitr.
Las dimensiones de la imagen se pueden cambiar modificando los parámetros del chunk. Por ejemplo, podemos cambiar la anchura (fig.width), la altura (fig.height) o el alineamiento (fig.align). O, si las proporciones nos están bien, podemos simplemente indicar qué ancho ocupará la imagen sobre el ancho total del documento (fig.width). Por ejemplo:
Para ver más información sobre cómo modificar las proporciones de la imagen, puedes consultar el siguiente enlace.
15.4 Gráficos
De forma muy parecida a los marcos de datos, Quarto también puede integrar gráficos. Solo será necesario teclear dentro de un chunk un código que reproduzca un gráfico, como en el caso siguiente.
nmc|>filter(stateabb%in%c("USA", "CHN"))|>ggplot(aes(x =year, y =milper, col =stateabb))+geom_line()+labs(title ="Pon título al gráfico")
También podemos modificar las dimensiones de la imagen utilizando los mismos parámetros que hemos aprendido en la edición de las imágenes.
Ejercicio 15.2 (Modifica el gráfico) Lee el último apartado del tutorial (Imágenes y gráficos). Modifica el código anterior para que en tu tutorial aparezcan:
Dos países distintos a USA y CHN.
Una variable distinta a milper.
Pon título al gráfico.
Para consultar la lista de países tendrás que trabajar en modo R Script. Para ello, deberás crear primero en el Global Environment el objeto nmcy consultar los países con sort(unique(nmc$stateabb)).