2016-11-29 6 views
0

Ich versuche, die UpdateSelectInut in Shiny Dashboard ohne Erfolg zu verwenden. Ich habe mehrere Methoden ausprobiert, bin aber nicht in der Lage, die SelectInputs zu aktualisieren. Daten haben eine VG- und eine AG-Spalte mit jeweils mehreren Faktoren. Was ich tun möchte, ist, wenn ich ein VG wählen, aktualisiert dann diese nur mit den AG-Werte, die für die VG-Datei vorhanden:Shiny Update Input Selector Probleme

VG AG 
A 1 
A 2 
B 1 
B 3 

so dass, wenn VG dann werden die AG ausgewählt Optionen 1,3 sein.

-Code lautet wie folgt:

UI<-... 

column(3,selectInput("VG.ETD", label = h4("VG"),choices = levels(data$VG),selected ="Y1")), 
column(3,selectInput("AC.ETD", label = h4("AC"),choices = levels(data$AC), selected ="X1")), 

Server<-function(input, output,session){... 

df_b <- reactive({filter(data, VG== input$VG.ETD)}) 
observe({updateSelectInput(session, 'AC.ETD', choices=levels(droplevels(df_b()$AC)))}) 
+0

In Ihren Daten gibt es keine Variable 'data $ AC' –

Antwort

0

Ist das, was Sie wollen?

#rm(list = ls()) 
library(shiny) 

VG <- c("A","A","B","B") 
AG <- c(1,2,1,3) 
data <- data.frame(VG, AG) 

ui <- fluidPage(
    column(3,selectInput("VG", label = h4("VG.ETD"),choices = levels(data$VG),selected ="Y1")), 
    column(3,selectInput("AG", label = h4("AG.ETD"),choices = unique(data$AG),selected ="X1")) 
) 

server<-function(input,output,session){ 

    observeEvent(input$VG,{ 
    updateSelectInput(session, 'AG', choices = unique(data$AG[data$VG %in% input$VG])) 
    }) 
} 

shinyApp(ui=ui,server=server)