Ustaw obiekt globalny w Shiny
Powiedzmy, że mam następujący plik server.R w błyszczącym:
shinyServer(function(input, output) {
output$plot <- renderPlot({
data2 <- data[data$x == input$z, ] # subsetting large dataframe
plot(data2$x, data2$y)
})
output$table <- renderTable({
data2 <- data[data$x == input$z, ] # same subset. Oh, boy...
summary(data2$x)
})
})
Co mogę zrobić, aby nie musieć biegaćdata2 <- data[data$x == input$z, ]
w każdym wywołaniu renderowania? Jeśli zrobię co następuje, otrzymuję błąd „obiektu typu„ zamknięcie ”nie jest podzbiorem”:
shinyServer(function(input, output) {
data2 <- reactive(data[data$x == input$z, ])
output$plot <- renderPlot({
plot(data2$x, data2$y)
})
output$table <- renderTable({
data2 <- data[data$x == input$z, ]
summary(data2$x)
})
})
Co zrobiłem źle?