Integración de widgets interactivos en R

Aprovechamiento de htmlwidgets para salidas dinámicas

Aprenda a mejorar sus documentos R con widgets interactivos. Este tutorial explica cómo utilizar htmlwidgets, como DT para tablas interactivas y leaflet para mapas, para crear paneles dinámicos.

Herramientas
Autor/a
Afiliación
Fecha de publicación

16 de marzo de 2025

Palabras clave

Widgets interactivos de R, htmlwidgets interactivo, Panel interactivo de R

Introducción

Los widgets interactivos dan vida a los documentos R, transformando los resultados estáticos en experiencias dinámicas similares a paneles de control. En este tutorial, aprenderás a utilizar htmlwidgets, un marco que conecta R con bibliotecas JavaScript, para incrustar tablas, mapas y gráficos interactivos directamente en tus documentos Quarto.



1. Descripción general de los widgets interactivos

Los widgets permiten a los usuarios interactuar con sus datos filtrando, ordenando y ampliando las salidas. Con htmlwidgets, puede integrar muchas bibliotecas populares en R, incluyendo:

  • DT: Para tablas de datos interactivas.
  • Leaflet: Para mapas interactivos.
  • Plotly: Para gráficos interactivos (a menudo utilizados para añadir interactividad a los gráficos ggplot2).

2. Uso de htmlwidgets en R

Tablas de datos interactivas con DT

El paquete DT transforma los marcos de datos R en tablas HTML totalmente interactivas.

Muestre las primeras 5 filas del conjunto de datos mtcars en una tabla interactiva:

Fuente del código
```{webr}
library(DT)
datatable(mtcars, options = list(pageLength = 5))
```

Mapas interactivos con Leaflet

El paquete leaflet le permite crear mapas interactivos con funciones de panorámica, zoom y marcadores.

Fuente del código
```{webr}
library(leaflet)
leaflet() %>%
  addTiles() %>%
  addMarkers(lng = -93.65, lat = 42.0285, popup = "Hello from Leaflet!")
```

Mejora de las visualizaciones con Plotly

Plotly se puede utilizar para añadir interactividad a los gráficos ggplot2, lo que permite funciones como información sobre herramientas, zoom y panorámica.

Fuente del código
```{webr}
library(ggplot2)
library(plotly)
p <- ggplot(mtcars, aes(x = wt, y = mpg, color = factor(cyl))) +
  geom_point(size = 3) +
  geom_smooth(method = "lm", se = FALSE) +
  labs(title = "Interactive Plotly Visualization",
       x = "Weight", y = "Miles per Gallon",
       color = "Cylinders")
ggplotly(p)
```

3. Combinación de widgets para paneles

Puede combinar varios widgets para crear un panel interactivo completo. Por ejemplo, puede mostrar una tabla interactiva junto a un mapa para ofrecer una vista multifacética de sus datos.

Fuente del código
```{webr}
library(DT)
library(leaflet)

# Creación de una tabla de datos interactiva
output_table <- datatable(head(mtcars, 10), options = list(pageLength = 5))

# Crear un mapa interactivo
output_map <- leaflet() %>%
  addTiles() %>%
  addMarkers(lng = -93.65, lat = 42.0285, popup = "Hello from Leaflet!")

# Mostrar ambos widgets
output_table
output_map
```
Nota

Quarto Live mostrará estos widgets uno tras otro, formando un diseño de panel de control sencillo.

Lecturas adicionales

Conclusión

La integración de widgets interactivos en R con htmlwidgets puede mejorar sus documentos al crear resultados dinámicos e interactivos, ya sean tablas de datos, mapas o visualizaciones mejoradas. Experimente con estos ejemplos, siga las prácticas recomendadas y solucione los problemas que surjan para crear paneles R interactivos y atractivos.

Explorar más artículos

Nota

Aquí hay más artículos de la misma categoría para ayudarte a profundizar en el tema.

placeholder

placeholder
No hay resultados
Volver arriba

Reutilización

Cómo citar

BibTeX
@online{kassambara2025,
  author = {Kassambara, Alboukadel},
  title = {Integración de widgets interactivos en R},
  date = {2025-03-16},
  url = {https://www.datanovia.com/es/learn/interactive/r/widgets.html},
  langid = {es}
}
Por favor, cita este trabajo como:
Kassambara, Alboukadel. 2025. “Integración de widgets interactivos en R.” March 16, 2025. https://www.datanovia.com/es/learn/interactive/r/widgets.html.