2016-11-29 2 views
0

Я пытаюсь использовать updateSelectInut в Shiny Dashboard безрезультатно. Я пробовал несколько методов, но я не могу получить selectInput для обновления. Данные имеют колонки VG и AG с несколькими факторами каждый. То, что я хочу сделать, когда я выбираю VG, то это обновляет только значения AG, которые существуют для этого файла VG:Блестящие проблемы с выбором ввода ввода

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) 
Смежные вопросы