2014-11-21 6 views
0

Есть ли блестящие данные автофильтра на странице пользовательского интерфейса? например, выбрать «Сайт», «Автоматический фильтр заголовков» по ​​сайту?R Блестящий selectinput box auto filter

sidebarLayout(
sidebarPanel(
    selectInput("Site", "Choose a Site:", 
       choices = site), 
    selectInput("Title", "Choose a Title:", 
       choices = title,multiple=TRUE), 
    selectInput("Job Category", "Choose a Job category:", 
       choices = job_category,multiple=TRUE), 

>

#-----Raw data-------- 
    Site Title Job_Category 
1 Wuxi Sr Manager Management 
2 Wuxi Manager Management 
3 Wuxi Sr Manager Management 
4 Suzhou Manager Management 
5 Wuxi Analyst II Professional 
6 Wuxi Director Management 
7 Wuxi Manager Management 
8 Wuxi Staff Analyst Professional 
9 Wuxi Sr Team Lead Management 
10 Wuxi Manager Management 
11 Wuxi Sr Administrator Professional 
12 Suzhou Manager Management 
13 Suzhou Sr Analyst Professional 
14 Suzhou Sr Analyst Professional 
15 Suzhou Staff Analyst Professional 
16 Suzhou Sr Analyst Professional 
17 Wuxi Staff Analyst Professional 
18 Suzhou Analyst II Professional 
19 Suzhou Analyst II Professional 
20 Wuxi Sr Administrator Professional 

ответ

0

вы можете использовать renderUI для создания selectinput переменных в server.R. Существует exmaple observe updateSelectInput based on first selection, в качестве альтернативы вы можете использовать updateSelectInput в своем заявлении observer, чтобы обновить selectInput, однако я не уверен, как выбрать все переменные на основе этого. Ниже приведен рабочий пример, основанный на первом методе. Обратите внимание, что я создал образцы данных на основе предоставленного вами ввода.

library(shiny) 

Site <- NULL 
Title <- NULL 
Job_Category <- NULL 
for (i in 1:50) 
{ 
    Site[i] <- sample(c("Wuxi","Suzhou","Other site"))[1] 
    Title[i] <- sample(c("Sr Manager","Manager","Director", "Analyst II","Sr Administrator"))[1] 
    Job_Category[i] <- sample(c("Management","Professional"))[1] 
} 

ui =fluidPage(
    tabPanel("Testing", 
      sidebarPanel(
      selectInput("Site", "Choose a Site:", choices = c(Site)), 
      uiOutput("varselect2"),uiOutput("varselect3")))) 

server = function(input, output, session){ 

    output$varselect2 <- renderUI({ 
    cols <- Title[Site %in% input$Site] 
    selectInput("vars", "Select Title:",choices=cols, selected=cols, multiple=T) 
    }) 

    output$varselect3 <- renderUI({ 
    cols2 <- Job_Category[Site %in% as.character(input$Site) & Title %in% input$vars] 
    selectInput("vars2", "Select Job category:",choices=cols2, selected=cols2, multiple=T) 
    }) 

} 
runApp(list(ui = ui, server = server)) 
Смежные вопросы