0

在闪亮的应用程序中可以输入一个数字(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 中的错误:参数长度为零

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

4

1 回答 1

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)
于 2016-05-06T11:21:27.450 回答