【问题标题】:R studio shiny conditional statementsRstudio闪亮的条件语句
【发布时间】:2012-10-30 02:14:33
【问题描述】:

我一直在玩 R shiny,有一个问题。

我想创建一个多选项卡多数据集包。由于不同的数据集没有过度相关,我希望用户能够选择他们想要查看的数据集,并为此更改可供他们使用的过滤选项。

所以我想要这样的东西,

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) }

如何在 Shiny 中执行条件语句?将其视为正常的 R 条件似乎不起作用。

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    conditionalPanel 是你想要的。 http://rstudio.github.com/shiny/tutorial/#dynamic-ui

    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))
    

    (我实际上并没有尝试运行此代码,但您应该能够理解)

    注意,conditionalPanel 只是隐藏了控件,子控件无论是否显示都仍然存在。在您的服务器逻辑中,您必须使用if (input$variable == 'am') 来查看您所处的模式(无论如何这可能是自然的方式),而不是测试input$integerinput$decimal 的存在。

    【讨论】:

      猜你喜欢
      • 2015-04-14
      • 1970-01-01
      • 2019-02-12
      • 2021-09-21
      • 1970-01-01
      • 2020-05-09
      • 2015-01-15
      • 2015-05-28
      • 2013-11-12
      相关资源
      最近更新 更多