Shinylive Aspectos básicos de R - Hoja de trucos

Guía rápida para crear e implementar aplicaciones Shinylive en R

Comandos esenciales, ejemplos y consejos de solución de problemas para construir y desplegar Shinylive aplicaciones R completamente en el navegador.

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

22 de marzo de 2025

Palabras clave

Shinylive, Shiny R, R interactivo, WebAssembly, Shiny sin servidor

Configuración e implementación de Shinylive

Instalación

  • Desde CRAN:
install.packages("shinylive")
  • Desde GitHub (recomendado):
pak::pak("posit-dev/r-shinylive")

Compruebe la versión instalada:

shinylive::assets_info()

Exportar y previsualizar la aplicación Shinylive

Exporta tu aplicación Shiny como una página web estática Shinylive:

shinylive::export("myapp", "site")

Vista previa local:

httpuv::runStaticServer("site")

Tutorial detallado



Creación de una aplicación básica Shinylive

Ejemplo: Hola Shiny

Crear app.R:

library(shiny)

ui <- fluidPage(
  sliderInput("bins", "Number of bins:", 1, 50, 30),
  plotOutput("distPlot")
)

server <- function(input, output) {
  output$distPlot <- renderPlot({
    x <- faithful$waiting
    bins <- seq(min(x), max(x), length.out = input$bins + 1)

    hist(x, breaks = bins, col = "skyblue", border = "white")
  })
}

shinyApp(ui, server)

Exportar y previsualizar:

shinylive::export(".", "site")
httpuv::runStaticServer("site")

Tutorial detallado

Incrustar Shinylive en documentos Quarto

Instala la extensión Quarto

quarto add quarto-ext/shinylive

Habilitar en el encabezado YAML:

---
filters:
  - shinylive
---

Incrustar la aplicación directamente en Quarto

```{shinylive-r}
#| standalone: true
library(shiny)

ui <- fluidPage(
  sliderInput("bins", "Number of bins:", 1, 50, 30),
  plotOutput("distPlot")
)

server <- function(input, output) {
  output$distPlot <- renderPlot({
    hist(faithful$waiting, breaks = input$bins)
  })
}

shinyApp(ui, server)
```

Guía completa

#| '!! shinylive warning !!': |
#|   shinylive does not work in self-contained HTML documents.
#|   Please set `embed-resources: false` in your metadata.
#| standalone: true
#| viewerHeight: 650
library(shiny)

ui <- fluidPage(
  sliderInput("bins", "Number of bins:", 1, 50, 30),
  plotOutput("distPlot")
)

server <- function(input, output) {
  output$distPlot <- renderPlot({
    hist(faithful$waiting, breaks = input$bins)
  })
}

shinyApp(ui, server)

Solución de problemas y consejos de personalización

Problemas comunes

  • Paquetes que faltan:
    • Añadir instalación de paquetes ocultos:
if (FALSE) {
  library(hidden_package)
}
  • Inicio lento:
    • Limitar las dependencias de la aplicación para una carga más rápida.
  • Gestión de activos:

Comprobar la caché local:

shinylive::assets_info()

Limpiar activos antiguos:

shinylive::assets_cleanup()

Varias aplicaciones

Exportar varias aplicaciones de forma eficiente:

shinylive::export("myapp1", "site", subdir = "app1")
shinylive::export("myapp2", "site", subdir = "app2")

Servir varias aplicaciones:

httpuv::runStaticServer("site")

Consejos avanzados

Lecturas adicionales


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 = {Shinylive Aspectos básicos de R - Hoja de trucos},
  date = {2025-03-22},
  url = {https://www.datanovia.com/es/learn/interactive/cheatsheets/shinylive-essentials-r.html},
  langid = {es}
}
Por favor, cita este trabajo como:
Kassambara, Alboukadel. 2025. “Shinylive Aspectos básicos de R - Hoja de trucos.” March 22, 2025. https://www.datanovia.com/es/learn/interactive/cheatsheets/shinylive-essentials-r.html.