R shiny:使用逻辑运算符测试numericInput

时间:2016-05-06 07:27:58

标签: shiny numeric-input

在闪亮的应用程序中,可以输入一个数字(numericInput)。一个方法应该确保如果数字等于1,它保持为1,但在所有其他情况下(x!= 1),变量必须设置为0。

server.r

中的

...    
checkNumber=reactive({
      if(!is.null(input$data)){    

      output$n_insertNumber<-renderUI({
        if(!is.null(input$data)){
          numericInput("number", "Number", value = 8)
        }  
      })

      x<-input$number
      if (x!=1){x==0}
      }
})
...

ui.r

...    
uiOutput("n_insertNumber"),
...

输出:

  

警告:if:参数长度为零

时出错

有人可以帮我找到解决方案吗?谢谢!

1 个答案:

答案 0 :(得分:0)

在这个示例应用程序中,您可以输入一个带有numericInput小部件的数字,然后进入服务器并在被动环境中进行测试。其结果为10,可通过Variable()访问。

library(shiny)

ui <- shinyUI(fluidPage(

   titlePanel("Example"),

   sidebarLayout(
      sidebarPanel(
         numericInput("number", "Number", value = 8)
      ),

      mainPanel(
         verbatimTextOutput("n_insertNumber")
      )
   )
))

server <- shinyServer(function(input, output) {

  Variable <- reactive({
    ifelse(test = input$number == 1, yes = 1, no = 0)
  })

   output$n_insertNumber <- renderPrint({
     Variable()
   })
})


shinyApp(ui = ui, server = server)