14.2 Welche Befehle sollen ausgeführt werden
Shiny verwendet reactive programming, dass bedeutet wir müssen shiny vermitteln wie eine Berechnung oder Darstellung durchgeführt wird und nicht die eine Berechnung durchzuführen.
# define server function
server <- function(input, output, session) {
output$summary <- renderPrint({
dataset <- get(input$dataset, "package:datasets")
summary(dataset)
})
output$table <- renderTable({
dataset <- get(input$dataset, "package:datasets")
dataset
})
}
# run the app
shinyApp(ui, server)Das Objekt server kann noch besser definiert werden durch eine reactive expression. Dadurch muss man Objekte (in diesem Beispiel get(input$dataset, "package:datasets")) nur einmal definieren. Eine reactive expression wird dabei wie ein Funktionsaufruf genutzt: