1. Cuenta en Posit Cloud

Posit Cloud (antes RStudio Cloud) es un enterno en línea que te permite acceder al poderoso conjunto de herramientas de ciencia de datos de Posit directamente en tu navegador. Crear una cuenta gratuita te garantiza:

  • Acceso inmediato: puedes ingresar desde cualquier computadora a una IDE de RStudio completo, con todas las librerías habituales.
  • Proyectos en la nube: se guardan automáticamente y pueden compartirse con otros usuarios.
  • Entornos reproducibles: todos los participantes del taller verán el mismo código funcionando, sin problemas de versiones ni dependencias.

Pasos para registrarte:

Paso 1

Ingresar al sitio:

Abre https://posit.cloud/ y haz clic en Log In (esquina superior derecha).


Paso 2

Selecciona el método de registro:

Puedes registrarte con Google, GitHub o un correo electrónico institucional.


Paso 3

Espacio de trabajo:

Como todos los usuarios de la nube, tienes un espacio personal, llamado Your Workspace. Lo encuentras en el lado izquierdo de la ventana.


Si la barra lateral de navegación está oculta, haz clic en el icono para que se muestre


Paso 4

Crea un proyecto:

Para crear un proyecto, haga clic en el botón New Project y luego elije New RStudio project en el menú que aparece.

Finalmente, cambia el nombre de tu proyecto haciendo clic en Untitled Project.


2. Introducción a R Markdown

R Markdown es una sintaxis de formato simple para crear reportes elegantes. Utiliza un lenguaje llamado Markdown para enriquecer la escritura. Este permite incluir texto, fórmulas matemáticas, comandos de R, imágenes y gráficos dinámicos.

Antes de inciar cualquier documento, debes descargar y ejectutar la librería de R.

# Descargar la librería 
install.packages("rmarkdown")

# Ejecutarlo para poder usarlo
library(rmarkdown)

3. Mi primer informe

Para crear tu primer informe en R Markdown debes seguir los siguientes pasos:

Paso 1

Crea un archivo .Rmd:

Puedes hacerlo de dos formas diferentes, con ayuda del menú superior: New file \(\rightarrow\) R Markdown.


Paso 2

Personaliza el documento:

En la ventana emergente que se activa, debes colocar el título y autor del documento. Además, debes elegir el formato de salida (HTML, PDF o Word)

Esto creará automáticamente un archivo que incluye un primer archivo en lenguaje R Markdown, con algunos ejemplos de los diferentes formatos que puedes utilizar.


Paso 3

Guarda el achivo:

Finalmente, debes crear una carpeta donde puedas guardar el archivo .Rmd para ejecutarlo y guardar la salida.

Para ejecutar el archivo y visualizar una vista previa, debes dar clic en el botón .

Puede resultar útil revisar: rmarkdown::Cheatsheet


4. Partes del documento

Encabezado

Encabezado YAML (YAML Header):

Los encabezados se escriben entre líneas, ---, al inicio del documento que define metadatos y configuración general.

Ejemplo de encabezado:

---
title: "Mi primer Informe"
author: "Jairo A. Ayala Godoy"
date: "2025-01-08"
output: html_document
---

Texto

Texto en Markdown:

Cualquier texto que se incluya en el informe aparecerá tal cual. Si queremos incluir títulos, subtítulos, caracteres en negrita, caracteres en cursiva o ecuaciones matemáticas, tendremos que introducir una sintaxis específica. Veamos algunos ejemplos:

  • Títulos: Para introducir títulos, subtítulos, y encabezados podemos usar el carácter #. Entre más caracteres mas pequeño.
# Título principal
## Subtítulo
### Subsubtítulo
  • Texto resaltado: Para resaltar palabras en negrita usamos doble asterisco o doble guion bajo (** o __), para letra italica, asteriscos simples o un solo guion bajo (*o _) y para las dos al tiempo triple arterisco o triple gion bajo.
Resaltar **con letra en negrita** (__negrita__), 
resaltar *con letra en italica* (_italica_) o 
con ambas al ***mismo tiempo*** (___ambas___).

Resaltar con letra en negrita (negrita), resaltar con letra en italica (italica) o con ambas al mimso tiempo (ambas).

  • Caja resaltada: Escribir palabras entre comillas invertidas (`), las muestra como código en línea. Es decir, aparece en una cajita gris, con tipografía monoespaciada.
Podemos usar la función `mean()` para calcular la media o promedio
de unos datos. Además, podemos combinar sintaxis **`summary()`**.

Podemos usar la función mean() para calcular la media o promedio de unos datos. Además, podemos combinar sintaxis summary().

  • Listas: Para agregar una lista puedes crearlas usando viñetas (bullets). Estas se pueden crear con cualquiera de estos tres símbolos: +, -, *. Todos renderizan igual. También puedes usar los números de forma simple.
# Viñetas:
  + Primero
  * Segundo
  - Tercero
    - Tercero parte a
    + Tercero parte b
  + Cuarto

# Números:
  1. Primero
  2. Segundo
  3. Tercero
     a. Tercero parte a
     b. Tercero parte b
  4. Cuarto 

Viñetas:

  • Primero
  • Segundo
  • Tercero
    • Tercero parte a
    • Tercero parte b
  • Cuarto

Números:

  1. Primero
  2. Segundo
  3. Tercero
    1. Tercero parte a
    2. Tercero parte b
  4. Cuarto
  • Enlaces: Para insertar un enlace, puedes simplemente colocarlo. También puedes personalizarlo, se escribe el texto que el lector verá entre corchetes [ ], seguido del URL entre paréntesis ( ).
Guía de R Markdown: https://bookdown.org/yihui/rmarkdown/
[Guía de R Markdown](https://bookdown.org/yihui/rmarkdown/)

Guía de R Markdown: https://bookdown.org/yihui/rmarkdown/

Guía de R Markdown

  • Fórmulas matemáticas: Para incluir fórmulas matemáticas se utiliza la misma sintaxis del sistema de LATEX (Composición de textos científicos).
Fórmulas o ecuación dentro del mismo párrafo, se escribe: \(x^2+y^2=4\). 
También funciona: $x^2+y^2=4$. 

Fórmulas o ecuación dentro del mismo párrafo, se escribe: \(x^2+y^2=4\). También funciona: \(x^2+y^2=4\).

Fórmula o ecuación centrada en una línea aparte, se escribe:
\[f(x)=x^2+3x+5.\]
También funciona: $$f(x)=x^2+3x+5.$$

Fórmula o ecuación centrada en una línea aparte centrada, se escribe:\[f(x)=x^2+3x+5.\] También funciona: \[f(x)=x^2+3x+5.\]

Para más detalles de escritura de fórmulas, puedes revisar: LATEX + RStudio

  • Tablas: Una forma sencilla de crear tablas en R Markdown es utilizando la sintaxis de Markdown. Este método funciona bien para tablas simples y es fácil de leer y escribir.
| Título columna 1  | Título columna 2 |Título columna 3 |
| ----------------  | ---------------- |---------------- |
| Contenido         | Contenido        |Contenido        |
| Contenido         | Contenido        |Contenido        |
Título columna 1 Título columna 2 Título columna 3
Contenido Contenido Contenido
Contenido Contenido Contenido

Para más detalles en general sobre los diferentes formatos de texto, puedes ir a la ayuda de RStudio. Esto lo puedes hacer desde el menú superior: help \(\rightarrow\) Markdown Quick Reference.


Chunks

Fragmentos de código R (Code Chunks):

En R Markdown, un chunk es un bloque de código que permite escribir y ejecutar comandos de R (u otros lenguajes) dentro del documento. Esto te permite integrar código, resultados y explicaciones en un mismo archivo.

Cada chunk comienza y termina con tres acentos graves (```), y en el encabezado, se indica el lenguaje y, opcionalmente, se pueden incluir argumentos que modifican la forma en que se muestra el código o sus resultados.

`` `{r}
# Esto sería un chunk básico de R
`` `
`` `{python}
# Esto sería un chunk básico de python
`` `

Para agregar un fragmento de código, debes dar clic en el menú de la parte superior.

El comportamiento de cada chunk puede modificarse mediante opciones que se agregan en su encabezado {r, opción1 = valor1, opción2 = valor2}.

  • include = FALSE: ejecuta el código, pero ni el código ni los resultados aparecen en el documento.

  • echo = FALSE: oculta el código, pero muestra los resultados.

  • eval= FALSE: no ejecuta el código, pero lo muestra.

  • message = FALSE: oculta los mensajes generados por el código (como los de carga de paquetes).

  • warning = FALSE: oculta advertencias generadas por el código.

  • fig.cap = "...": agrega un título (caption) a las gráficas producidas por el chunk.

Para aprender más del tema, puedes revisar: knitr: Chunk options and package options


Output

Resultados y Gráficos (Output):

Son las salidas generadas por el código de los chunks: tablas, textos, gráficos estáticos o interactivos. Se insertan automáticamente al compilar. A continuación, aprovechamos para presentar algunos ejemplos de Chunks interesantes.

  • Figura estática:
set.seed(2025)
data      <- rnorm(500,10,2)

hist(data,col="cyan",
     main = "Histograma de datos normales",
     xlab= "Datos aleatorios", ylab= "Frecuencia")

  • Tabla interactiva:
# Cargar la librería
library(DT)

# Usar una tabla ejemplo (por ejemplo: iris)
datatable(iris, 
          options = list(pageLength = 5, autoWidth = TRUE),
          caption = "Tabla interactiva del dataset iris")
  • Figuras dinámicas:
library(plotly)

plot_ly(x=~iris$Sepal.Length, y=~iris$Sepal.Width, 
        z=~iris$Petal.Length,type = "scatter3d",
        color=iris$Species)
library(plotly)
library(gapminder)

# Datos simulados estilo gapminder
df <- data.frame(
  año = rep(2000:2004, each = 5),
  pais = rep(LETTERS[1:5], times = 5),
  x = runif(25, 10, 100),
  y = runif(25, 1, 10),
  tamaño = runif(25, 10, 50)
)

plot_ly(data = df,x = ~x, y = ~y,
  size = ~tamaño, color = ~pais,
  frame = ~año,type = 'scatter',
  mode = 'markers', marker = list(sizemode = 'diameter',
 opacity = 0.6, line = list(width = 2, color = '#FFFFFF'))
) %>%
  layout(
    title = "Gráfico animado con botón Play",
    xaxis = list(title = "Indicador X"),
    yaxis = list(title = "Indicador Y")
  )
library(highcharter)
highchart() %>%
  hc_add_series(data = c(3, 5, 2, 8), type = "line")
  • Mapas:
library(leaflet)

leaflet() %>%
  addTiles() %>%  
  setView(lng = -84.48047, lat = 10.08737, zoom = 7) %>%
  addMarkers(
    lng = -84.48047,
    lat = 10.08737,
    popup = "UCR - Sede de Occidente (San Ramón)"
  )

\[ \]


Output Format

Renderización del Documento (Output Format):

Renderizar un documento R Markdown significa convertir el archivo .Rmd en un documento final, como un:

📄 HTML interactivo

📄 PDF listo para imprimir

📄 Word editable

Durante la renderización, se combinan:

  • El texto que escribiste (Markdown)

  • El código que escribiste (chunks de R)

  • Y los resultados (tablas, gráficas, salidas, etc.)

Para cambiar el formato de archivo a renderizar, debes escoger al dar clic en el botón , ahí se despliegan las diferentes opciones.

  • Renderización avanzada:

Además de generar documentos en HTML, PDF o Word, R Markdown permite crear formatos más interactivos y especializados.

A continuación, se presenta un resumen de los formatos más comunes que se pueden generar desde un archivo R Markdown, junto con sus usos típicos y la opción correspondiente que se debe especificar en el encabezado YAML:

Formato Ideal para Función YAML
HTML Informes interactivos html_document
PDF Publicación impresa pdf_document
Word Documentos editables word_document
Presentación Clases, congresos ioslides_presentation
Libro Manuales, tesis bookdown::gitbook
Web/Blog Divulgación científica distill_article
App Visualización y exploración de datos shiny

Este tipo de presentaciones son especialmente útiles para clases, congresos o seminarios, ya que permiten mostrar análisis en vivo o resultados interactivos.

Ejemplos prácticos:


5. Recursos adicionales

R Markdown admite docenas de formatos de salida estáticos y dinámicos, incluidos HTML , PDF , Word , Beamer , diapositivas HTML5 , folletos estilo Tufte , libros, aplicaciones dinámicas, Tableros dinámicos, artículos científicos, sitios web y más.


Contacto

Jairo A. Ayala Godoy
Catedrático Asociado

Instituto de Estadística y Sistemas
Computadorizados de Información
Facultad de Administración de Empresas
Universidad de Puerto Rico
Recinto de Río Piedras
787 764-0000 Ext. 87079