tacosdedatos

Cover image for Usa Shiny para tus dashboards y aplicaciones 📊🧑‍💻
Angel
Angel

Posted on • Updated on

Usa Shiny para tus dashboards y aplicaciones 📊🧑‍💻

Introducción

Es muy probable que hayas escuchado antes de esta herramienta si vienes del mundo de los datos, y más aun si eres usuario de R. Pero en caso de que esta sea tu primer acercamiento, {shiny} es una opción poderosa y versátil para crear dashboards interactivos en R (¡y ahora en Python!). Ofrece interactividad, flexibilidad, integración con R y Python, facilidad de despliegue y una comunidad sólida de apoyo. Es una opción para aquellos que desean crear dashboards y aplicaciones web impactantes y funcionales en poco tiempo. 🙂

En mi época de Data Scientist, frecuentemente me encontraba en la necesidad de compartir los resultados de mis análisis con otras personas de una manera interactiva. Al tener un background más matemático y ser usuario de R, mi opción más inmediata fue R Markdown, pero a medida que mis necesidades incrementaron, y quería que el usuario "jugara" con los datos o incluso pudiera tener una herramientas de análisis, era necesario migrar a otra herramienta más potente. Fue entonces cuando encontré {shiny}.

No tenía la menor idea de desarrollo web, y sabía lo básico de HTML. Fue una grata sorpresa darme cuenta que en realidad no era necesario ser un experto en CSS y JavaScript para tener una aplicación con una apariencia profesional; podía mantenerme en el reino de R y usar paquetes como {shinydashboard} y {shinyWidgets} para llevar la aplicación al siguiente nivel.

Obviamente saber los fundamentos del desarrollo web es clave para desarrollar aplicaciones robustas, pero esto no es "un must" para iniciar. Incluso ¡usar Shiny fue mi primer acercaminto a estos conceptos! Hay una excelente keynote de Jacqueline Nolis al respecto que vale la pena ver:

Sin más preambulo, quiero dejar aquí 5 razones que me parecen clave para motivarte a usar Shiny

5 razones por la cuáles vale la pena probar Shiny

  1. Interactividad: Puedes agregar widgets y elementos interactivos como botones, deslizadores, menús desplegables y gráficos que responden en tiempo real a las interacciones del usuario. Esto facilita la exploración de datos y la visualización de resultados.

  2. Flexibilidad: shiny es altamente flexible y personalizable. Puedes diseñar tu dashboard de acuerdo a tus necesidades y preferencias, utilizando HTML, CSS y JavaScript. Puedes ajustar el diseño, los estilos y los componentes para adaptarlos a tus requisitos específicos y crear una experiencia visualmente atractiva para los usuarios.

  3. Integración con R (ahora Python): shiny se integra perfectamente con el entorno de programación R. Puedes utilizar todas las funcionalidades y capacidades de R para el análisis de datos, manipulación de datos y modelado estadístico, y mostrar los resultados de manera interactiva en el dashboard o aplicación web.

  4. Despliegue sencillo: shiny simplifica el proceso de despliegue de dashboards. Puedes compartir tus dashboards con otros usuarios de manera rápida y sencilla utilizando servicios en la nube, como shinyapps.io, o puedes hospedar tu propio servidor shiny.

  5. Comunidad y recursos: shiny cuenta con una gran comunidad de usuarios activos y una amplia gama de recursos disponibles.

Ejemplos

Necesitas convencerte que se pueden hacer cosas INCREÍBLES con {shiny}? Mira estas apps! 👇

  • Spotify Habits: Una pequeña aplicación que muestra qué música escucha Nico (el autor de la app) en Spotify en general y lo que ha estado escuchando más recientemente. Además, también presenta un análisis de los artistas y canciones.
  • Selección de especies arbóreas informada por el cambio climático.: Esta aplicación genera informes de proyecciones de viabilidad climática de especies arbóreas para ubicaciones especificadas por el usuario.

Recursos 📚

Como todo, la práctica hacer al maestro, recomiendo empezar con los ejemplos sencillos del Get Started del sitio de Shiny de Posit.
Después recomendaría saltar al increíble libro de Hadley Wickham, Mastering Shiny contiene los temas necesarios para convertirte en un Shiny expert 😎

Espero esto te haya sido de utilidad. Si llegaste hasta acá, te invito una cerveza 🍻

Discussion (2)

Collapse
pablox profile image
Pablo Xavier Noriega Robles

Gracias por compartir! Suena muy interesante. Probaré entrarle con estos primeros pasos que compartes.

Collapse
angelfer profile image
Angel Author

¡Buenísimo! Cuentas cómo te fue :)