Ich habe eine glänzende App mit einer längeren Berechnung abhängig von der Eingabe. Ich frage mich, ob es möglich ist, einen Text im Hauptfenster zur gleichen Zeit anzuzeigen, wenn die Berechnung durchgeführt wurde (und nicht vorher).R glänzend ausblenden mainPanel Objekt während der Rechenzeit
Lassen Sie uns ein einfaches Beispiel machen. Ich simulierte die längere Berechnung mit Sys.sleep()
:
# Define UI for application that draws a histogram
ui <- shinyUI(fluidPage(
# Application title
titlePanel("Old Faithful Geyser Data"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
sliderInput("bins",
"Number of bins:",
min = 1,
max = 50,
value = 30)
),
# Show a plot of the generated distribution
mainPanel(
h3('This is an example'),
plotOutput("distPlot")
)
)
))
# Define server logic required to draw a histogram
server <- shinyServer(function(input, output) {
output$distPlot <- renderPlot({
# generate bins based on input$bins from ui.R
x <- faithful[, 2]
bins <- seq(min(x), max(x), length.out = input$bins + 1)
# draw the histogram with the specified number of bins
hist(x, breaks = bins, col = 'darkgray', border = 'white')
Sys.sleep(5)
})
})
# Run the application
shinyApp(ui = ui, server = server)
Das Ziel wäre, den Text zu zeigen, ‚Dies ist ein Beispiel‘ zugleich die Berechnung durchgeführt wird und nicht vorher. Ich denke, ich muss den Text irgendwie reaktiv machen, aber bis jetzt habe ich keine Lösung dafür gefunden. Vielleicht könnte ein conditionalPanel
es tun, aber wie kann ich die Rechenzeit in den Zustand bringen? Irgendwelche Ideen?
Genau! Vielen Dank –