使用R的Shiny应用程序中的相关输入

时间:2015-06-15 18:48:56

标签: r shiny

说我有shiny::sliderInput

...
sliderInput("input_1", "Title_1",
            min = 1, max = 10, value = 5)
...

是否可以在其他min中引用maxvalue和/或sliderInput?用例是使第二个输入依赖于第一个输入。第二个输入最小值的调整值永远不会小于input_1的值。

类似(这不起作用):

sliderInput("input_2", "Title_2",
             min = input_1$value, max = 10, value = input_1$value)

我的预感是renderUI可能会出现这种情况,但不确定从何处或如何开始?

2 个答案:

答案 0 :(得分:4)

这是在server.R中定义窗口小部件的示例:

library(shiny)
shiny::runApp(list(
  ui = fluidPage(
    numericInput("input_2", "select min value", value = 5),
    uiOutput("input_1")
  ),
  server = function(input, output) {
    output$input_1 <- renderUI({
      sliderInput("input_1", "Title_1", min = input$input_2, max = 10, value = 5)
    })

  }
))

因此它对ui.R

中的变化有反应

答案 1 :(得分:3)

闪亮的rmd

中的updateSliderInput示例
---
title: "Dependent Inputs"
runtime: shiny
output:
    html_document
---
```{r}
sliderInput("n", "n", min=0, max=100, value=1)
sliderInput("n2", "n2", min=0, max=100, value=1)

observe({
    updateSliderInput(session, "n", min=input$n2-1, max=input$n2+1, value=input$n2)
})
```