所以我有一组计算,这些计算是在按下按钮时生成的。但我希望在应用程序最初启动时生成计算。这基本上意味着在应用程序启动时自动按下该按钮。
如何在R Shiny应用程序中做到这一点?
以下是使用shinyjs::click()
函数的一种方法,使用该函数可以模拟应用程序初始化时的按钮点击。运行带有和不带有observe
的应用程序以查看差异。-
library(shiny)
library(shinyjs)
init <- 5
shinyApp(
ui = fluidPage(
useShinyjs(),
br(),
actionButton("add", "Add"),
verbatimTextOutput("test")
),
server = function(input, output, session) {
o <- observe({
shinyjs::click("add")
o$destroy() # destroy observer as it has no use after initial button click
})
val <- eventReactive(input$add, {
init + 1
})
output$test <- renderPrint(val())
}
)