2017-06-30 7 views
1

私はRと光沢を学んでいて、光沢のあるパッケージドキュメントhereのコードのいくつかを試してみようとしています。私は条件が私が追加した理由が私の状態に応答していない理由を把握しようとしています。 エラーが発生しないので、私は間違って何をしていますか?条件が光っていない

ui <- fluidPage(
    uiOutput("ex") 
) 
server <- function(input, output) { 
    output$ex <- renderUI({ 
    tagList(
     selectInput("n","Please Select :", 
        choices = c("N","U","T")), 
     conditionalPanel(condition = "n"=="N", 
         textInput("inmean"," Mean:",0.25), 
         textInput("invsd","Sd", 0.02)), 
     conditionalPanel(condition = "n"== "U", 
         textInput("inmean","Mean:",0.25), 
         textInput("insd","Sd", 0.02)) 
    ) 
    }) 
} 
shinyApp(ui, server) 
+0

をあなたの条件は – user5029763

+0

がはいああそれはそれを修正し、 ''「input.n == 『N』」でなければなりません。ありがとうございます – Morg

答えて

1

個人的に私はこのようにはしません。私は、 "n"の入力を調べ、値を変更するためにupdateTextInput()を使用するobserve({})ステートメントを使用します。

しかし、これはあなたが使っている方法で動作するようです:

ui <- fluidPage(

    selectInput("n","Please Select :", 
       choices = c("N","U","T")), 
    uiOutput('ex') 
) 
server <- function(input, output) { 
    output$ex <- renderUI({ 

     if(input$n == 'N'){ 
     tagList(
     textInput("inmean"," Mean:",0.25), 
     textInput("invsd","Sd", 0.02) 
     ) 
     }else if(input$n == 'U'){ 
     tagList(
     textInput("inmean","Mean:",0.2), 
     textInput("insd","Sd", 0.01) 
     ) 
     } 

    }) 

} 
shinyApp(ui, server) 
+0

私が間違っている場合は私を修正しますが、これは最大3つの選択肢に制限されるので、3つ以上の選択肢がある場合は使用できなくなります – Morg

+0

いつも別の 'else if'を追加できます。 – user5029763

+0

ああ、私はあなたが1つしか使用できないと思った。説明をありがとう – Morg

関連する問題