Configuración e implementación de Shinylive
Instalación
- Desde CRAN:
install.packages("shinylive")
- Desde GitHub (recomendado):
::pak("posit-dev/r-shinylive") pak
Compruebe la versión instalada:
::assets_info() shinylive
Exportar y previsualizar la aplicación Shinylive
Exporta tu aplicación Shiny como una página web estática Shinylive:
::export("myapp", "site") shinylive
Vista previa local:
::runStaticServer("site") httpuv
Creación de una aplicación básica Shinylive
Ejemplo: Hola Shiny
Crear app.R
:
library(shiny)
<- fluidPage(
ui sliderInput("bins", "Number of bins:", 1, 50, 30),
plotOutput("distPlot")
)
<- function(input, output) {
server $distPlot <- renderPlot({
output<- faithful$waiting
x <- seq(min(x), max(x), length.out = input$bins + 1)
bins
hist(x, breaks = bins, col = "skyblue", border = "white")
})
}
shinyApp(ui, server)
Exportar y previsualizar:
::export(".", "site")
shinylive::runStaticServer("site") httpuv
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)
```
#| '!! 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:
::assets_info() shinylive
Limpiar activos antiguos:
::assets_cleanup() shinylive
Varias aplicaciones
Exportar varias aplicaciones de forma eficiente:
::export("myapp1", "site", subdir = "app1")
shinylive::export("myapp2", "site", subdir = "app2") shinylive
Servir varias aplicaciones:
::runStaticServer("site") httpuv
Lecturas adicionales
Explorar más artículos
Aquí hay más artículos de la misma categoría para ayudarte a profundizar en el tema.
Reutilización
Cómo citar
@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}
}