2014-11-21 5 views
0

shiny는 UI 페이지에서 자동으로 파일러 데이터를 사용할 수 있습니까? 사이트 선택, 사이트 별 제목 데이터 자동 필터링?R 반짝이는 selectinput 상자 자동 필터

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

당신이 server.Rselectinput 변수를 만들 수 renderUI를 사용할 수 있습니다. 예를 들어 observe updateSelectInput based on first selection 인 경우 observer 문에 updateSelectInput을 사용하여 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)) 
관련 문제