publicar - Cómo salir de una aplicación brillante y devolver un valor
shiny r tutorial (1)
La página de ayuda de runApp
dice:
Ejecuta una aplicación brillante. Esta función normalmente no regresa; interrumpe R para detener la aplicación (generalmente presionando Ctrl + C o Esc).
¿"Normalmente" significa "siempre"? ¿Hay alguna manera de agregar un botón "salir" y devolver un valor a la sesión R que llamó a runApp
? Incluso si es un truco, esta sería una funcionalidad conveniente. He intentado buscar pero no he encontrado nada. También miré la fuente de runApp
, la última línea es return(.globals$retval)
, por lo que parece que debería haber una forma.
¿Puedo configurar .globals$retval
directamente y luego llamar a algún tipo de interrupción? ¿Hay una función en el paquete shiny
que hace esto?
Hay una función stopApp
que detiene la aplicación en ejecución y devuelve un valor opcional:
myValue <- runApp(list(
ui = bootstrapPage(
numericInput(''n'', ''Number of obs'', 100),
actionButton("myBtn", "Press ME!"),
plotOutput(''plot'')
),
server = function(input, output, session) {
output$plot <- renderPlot({ hist(runif(input$n)) });
observe({
if(input$myBtn > 0){
stopApp(7)
}
})
}
))
Al detenerse:
> myValue
[1] 7