2015-08-17 2 views
1

Я только что начал выполнять пользовательский интерфейс с использованием Shiny с R, однако у меня возникли проблемы с компоновкой моей страницы.conditionalPanel Display, но состояние не выполнено - R Shiny

Проблема, с которой я столкнулся, - это моя вторая условная панель, которая отображается, хотя она не выбрана. Я поместил выбранный = 'Item1' в мои radioButtons, но также показывает checkboxGroupInput из Item2.

В чем проблема и как мне ее исправить? Есть ли в моем коде ошибки или ошибки?

library("shiny") 

shinyUI(navbarPage("title", 
tabPanel("Subtitle1", 
sidebarLayout(
    sidebarPanel(
     checkboxGroupInput("variable1","Items:", 
         c("Item1","Item2"))), 
    mainPanel(
    plotOutput("plot") 
    ) 
) 
), 

tabPanel("Subtitle2", 
     sidebarLayout(
      sidebarPanel(
       radioButtons(
        inputId="Item", 
        label="Item Selection:", 
        choices=list(
         "Item1","Item2"), 
        selected='Item1' 
          ), 
# Only show this when Item1 is selected. Become invisible when other Items is selected. 
       conditionalPanel(
        condition="input.Item == 'Item1'", 
        checkboxGroupInput(
         "variable2", 
         "Countries:", 
         choices=names(QuantityI), 
         selected= "World.") 
           ), 
# Only show this when Item2 is selected. Become invisible when other Items is selected. 
       conditionalPanel(
        condition="input.Item == 'Item2'", 
        checkboxGroupInput(
         "variable2", 
         "Countries:", 
         choices=names(QuantityI), 
         selected= "World.") 
           ) 
         ), 
      mainPanel(
        plotOutput("plot") 
         ) 
        ) 
     ))) 
+0

Я изменил его, но он по-прежнему остается неизменным. Моя вторая условная панель все еще отображается – Ted

+0

Собственно, ваш код, похоже, работает, но нет никакой разницы между условной позицией для Item1 и Item2, вы создали их точно так же. Если вы измените страны на страны 2 во второй условной панели, вы увидите, что это изменяется при изменении ввода ваших радиобатов, поэтому код правильный. –

+0

@WannesRosiers Код действительно работает, однако список вариантов видим для панели второго условия (Item2), хотя я выбираю Item1. Я бы хотел, чтобы панель состояния 1 была видна, когда я выбираю Item1, а панель условий 2 видна, когда я выбираю Item2 – Ted

ответ

1

Я нашел решение этой проблемы. Большое спасибо Wannes Rosiers, где я нашел и устранил эту ошибку.

Для обоих mainPanel в tabPanel subtitle1 и subtitle2, Оба его имели один и тот же plotOutput, что является «сюжет»,

mainPanel(
plotOutput("plot") 
) 

Оба они должны иметь другой вывод, хотя я не уверен, причина этого.

+0

Здесь вы можете найти, почему это не разрешено: https://github.com/rstudio/shiny/issues/743 В коде будут созданы два HTML-элемента с одинаковым идентификатором. –

+0

@WannesRosiers Спасибо за то, что узнали причины и помогли мне решить эту проблему !! Я думаю, это трудно определить, когда не отображается ошибка. = D – Ted

Смежные вопросы