R 基于另一个输入约束闪亮的应用程序输入

R 基于另一个输入约束闪亮的应用程序输入,r,shiny,R,Shiny,我有一个评估a+B的基本闪亮应用程序: library(shiny) ui <- fluidPage( numericInput(inputId = "A", label = "A", value = 5, step = 1), sliderInput(inputId = "B", label = "B", min = 0, max = 10, value = 5), textOutput(outputId = "value") ) server <- f

我有一个评估a+B的基本闪亮应用程序:

library(shiny)

ui <- fluidPage(
    numericInput(inputId = "A", label = "A", value = 5, step = 1),
    sliderInput(inputId = "B", label = "B", min = 0, max = 10, value = 5),
    textOutput(outputId = "value")
)

server <- function(input, output) {
    output$value <- renderText(paste0("A + B = ", input$A + input$B))
}

shinyApp(ui = ui, server = server)
库(闪亮)

ui您可以调用
updateSliderInput
observe
中更改B的最大值,该值将在A发生更改时触发:

library(shiny)

ui <- fluidPage(
  numericInput(inputId = "A", label = "A", value = 5, step = 1),
  sliderInput(inputId = "B", label = "B", min = 0, max = 10, value = 5),
  textOutput(outputId = "value")
)

# Notice the session argument to be passed to updateSliderInput
server <- function(input, output, session) {
  output$value <- renderText(paste0("A + B = ", input$A + input$B))
  observe(updateSliderInput(session, "B", max = input$A*2))
}

shinyApp(ui = ui, server = server)
库(闪亮)

ui您正在查找
renderUI()

库(闪亮)

ui所有这些信息都已经在Shinys的教程页面上了,而且还有很多类似的问题已经问过了,所以,请确保你做了研究,因为这不会给社区带来任何新的东西
library(shiny)

ui <- fluidPage(
  numericInput(inputId = "A", label = "A", value = 5, step = 1),
  uiOutput("slider"),
  textOutput(outputId = "value")
)

server <- function(input, output) {
  output$value <- renderText(paste0("A + B = ", input$A + input$B))
  output$slider <- renderUI({
    sliderInput(inputId = "B", label = "B", min = 0, max = 2*input$A, value = 5)
  })
}

shinyApp(ui = ui, server = server)