2012-11-09 10 views
5

나는 반짝이는 R을 가지고 놀았으며 질문이 있습니다.R 스튜디오 반짝이 조건문

다중 탭 다중 데이터 세트 패키지를 만들고 싶습니다. 다른 데이터 세트는 지나치게 관련이 없으므로 사용자가보고 싶은 항목을 선택할 수 있고 그 항목에 사용할 수있는 필터링 옵션을 변경할 수 있기를 바랍니다.

그래서 나는 이런 식으로 뭔가를 원하는

,

selectInput("variable", "Variable:", 
list(""Cylinders" = "cyl", 
"Transmission" = "am"), 

if (selectInput == "Transmission") { 
    sliderInput("integer", "Integer:", 
    min=0, max=1, value=0) }, 

else{ 

sliderInput("decimal", "Decimal:", 
      min = 0, max = 1, value = 1) } 

는 어떻게 샤이니의 조건을합니까? 정상적인 R 조건처럼 처리하면 효과가없는 것 같습니다.

+3

+1 나를 가리키는 R 반짝 :-) – January

+0

권자. 아주 시원한 것 같습니다. 그것이 일단 베타 버전이 될 것이라고 확신합니다. – cianius

답변

10

conditionalPanel은 원하는 것입니다. 이 표시되고 있는지

selectInput("variable", "Variable:", 
list(""Cylinders" = "cyl", 
"Transmission" = "am"), 

conditionalPanel(condition = "input.variable == 'am'", 
    sliderInput("integer", "Integer:", 
    min=0, max=1, value=0)), 

conditionalPanel(condition = "input.variable == 'cyl'", 
sliderInput("decimal", "Decimal:", 
      min = 0, max = 1, value = 1)) 

http://rstudio.github.com/shiny/tutorial/#dynamic-ui (나는 실제로이 코드를 실행하기 위해 시도하지 않은하지만 당신은 아이디어를 얻을 수있을 것입니다) conditionalPanel 그냥 컨트롤을 숨 깁니다

주, 자식 컨트롤은 여전히 ​​존재 아닙니다. 서버 논리에서 input$integer 또는 input$decimal의 존재 여부를 테스트하기보다는 if (input$variable == 'am')을 사용하여 현재의 모드를 확인해야합니다 (어쨌든 자연스러운 방법 일 수 있음).

+0

굉장합니다. Id는 conditionalpanel을 사용하려고했지만 틀린 형식을 사용하고있었습니다. 대단히 감사합니다! – cianius