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
<- function(input, output, session) {
server $summary <- renderPrint({
output<- get(input$dataset, "package:datasets")
dataset summary(dataset)
})
$table <- renderTable({
output<- get(input$dataset, "package:datasets")
dataset
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: