2016-08-05 4 views
0

sidebarPanel에 드롭 다운이 있는데 최대 2 개의 옵션을 선택할 수 있습니다. 드롭 다운에서 in-selection ('안장 조인트'와 '글라이딩 조인트') 또는 ('안장 조인트'와 '시놉시스 플루이드')를 선택하면 'x'와 'y'개체를 선택할 수있는 if 루프를 만들고 싶습니다. 다른 sidebarPanel 명명 된 데이터 집합 - 기본적으로 연결을 만듭니다. 나는이 코드 조각을 시도했지만 작동하지 않습니다 :if 루프의 여러 입력에 sidePanels를 연결하는 경우 : Shiny R

if ("Saddle Joint" %in% input$location & "Gliding Joint" %in% input$location || "Saddle Joint" %in% input$location & "Synovial Fluid" %in% input$location) {   
    updateCheckboxGroupInput(session, 
          "datasets", "Datasets:", choices = c("x","y"), 
          selected= c("x","y"))   
    } 

이 스크린 샷에서보세요! Screenshot

감사합니다. 여기서 볼 수 있듯이

답변

0

당신은, observeEvent을 사용하여 수행 할 수 있습니다 입력 $ 위치의 변화에 ​​대한 찾고 할 서버를 알려줄 필요가 :

library(shiny) 

ui <- basicPage(
    selectInput(inputId = "location", 
       label = "Location", 
       choices = c("Saddle Joint", 
          "Gliding Joint", 
          "Synovial Fluid", 
          "Hinge Joint", 
          "Condyloid Joint", 
          "Flexor Tenosynovium"), 
       multiple = TRUE), 
    checkboxGroupInput(inputId = "datasets", 
        label = "Datasets:", 
        choices = c("x", "y", "z")) 
) 

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

    observeEvent(eventExpr = input$location, 
       handlerExpr = { 

       if("Saddle Joint" %in% input$location & "Gliding Joint" %in% input$location || "Saddle Joint" %in% input$location & "Synovial Fluid" %in% input$location) 
       updateCheckboxGroupInput(session = session, 
              inputId = "datasets", 
              selected = c("x", "y")) 
       }) 

} 

shinyApp(ui, server)