2016-11-29 85 views
0

我想在闪亮的仪表板中使用updateSelectInut无济于事。我尝试了多种方法,但无法获得selectInput的更新。数据有一个VG和AG列,每列有几个因素。我想做的是当我选择一个VG,那么这只有目前这VG文件的AG值更新:闪亮的更新输入选择器问题

VG AG 
A 1 
A 2 
B 1 
B 3 

这样的,如果选择VG那么AG的选项将是1,3。

代码如下:

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

在您的数据中没有'data $ AC'变量 –

回答

0

这是你想要的吗?

#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)