如何在Ui部分使用输入?

时间:2018-04-05 12:43:56

标签: r input shiny output

我希望能够在我的闪亮应用程序的Ui部分中使用输入结果来设置默认值和numericInput的最大值。

这是我想要的ui部分的“想法”:

ui <- (

 numericInput("n21","choose input1",min=0,max=100000,value=5107,step=1),
 numericInput("n22","choose input2",min=0,max=2000,value=1480.3/40),

 # here i'd like to define value and max with the result of inputs (n23) 
 numericInput(inputId="nb_rows","Number of rows to show",value=n23,min=1,max=n23)
 tableOutput(outputId = "data")
)

服务器部分:

server <- function(input,output,session){
  ....
  RE <- reactive({
   n21 <- input$n21
   n22 <- input$n22
   n23 <- n21%/%n22

   return(head(data, n=input$nb_rows))
  })

  output$data <- renderTable({RE()})


}

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您需要使用observe功能来更改您想要更改的数字输入,以便我们执行以下操作:

`server <- function(input,output,session){
  ....
  RE <- reactive({
   n21 <- input$n21
   n22 <- input$n22
   n23 <- n21%/%n22

   return(n23)
  })`

`    observe({
      x <- RE()

      # Can use character(0) to remove all choices
      if (is.null(x))
        x <- character(0)

      # Can also set the label and select items
      updateNumericInput(session, "nb_rows",
                        label = "Number of rows to show",
                        value = x,
                        min = 1,
                        max = x
      )
    })`

然后重新制作输出表函数

我希望它有所帮助。