Я хотел бы создать блестящее приложение, которое запускает симуляцию и затем показывает 3 графика результатов (я настроил их с помощью tabsetPanel()
).Коду нужно несколько секунд для запуска, поэтому я сделал submitButton()
.Теперь, когда код занимает больше времени, я хочу, чтобы он запускался только один раз, а затем отображал 3 графика.Как запустить код с входными значениями, извлечь 5 векторов результата и только потом построить их?
В настоящее время «блестящий» выдает ошибку, потому что когда код не находится в пределах части output$plot <- renderPlot({ ...})
, он не реагирует.
То, что у меня до сих пор выглядит, выглядит так:
ui <- fluidPage(
titlePanel("My Simulation"),
submitButton(text="RUN SIMULATION")
mainPanel(
tabsetPanel(
tabPanel("Plot 1", plotOutput("p1")),
tabPanel("Plot 2", plotOutput("p2")),
tabPanel("Plot 3", plotOutput("p3"))
)
)
)
server <- function(input, output) {
v<-reactiveValues(v1=0,v2=0,v3,v4=0,v5=0)
observeEvent(input,{ myFunction()})
output$p1<-renderPlot{
plot(v1,v2)
}
output$p2<-renderPlot{
plot(v1,v3)
}
output$p3<-renderPlot{
plot(v1,v4)
lines(v1,v4)
}
shinyApp(ui, server)