【问题标题】:Conditional not working in shiny有条件的不工作在闪亮
【发布时间】:2017-12-04 12:33:04
【问题描述】:

我正在学习 R 和 Shiny,并且一直在尝试使用 Shiny 包文档 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)  

【问题讨论】:

  • 你的条件应该是"input.n == 'N'"
  • 啊,是的,解决了它。谢谢

标签: r rstudio shiny shinydashboard


【解决方案1】:

我个人不会这样做。我会使用观察 ({}) 语句查看“n”的输入并使用 updateTextInput() 来更改值。

但这似乎适用于您使用的方法:

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)  

【讨论】:

  • 如果我错了,请纠正我,但这将限制为最多 3 个选择,因此如果您有 3 个以上的选择,您将无法使用它
  • 您可以随时添加另一个else if
  • 哦,好吧,我以为你只能使用 1 else if。感谢您的澄清
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-04
  • 1970-01-01
  • 2015-04-14
  • 2017-04-29
相关资源
最近更新 更多