gpt4 book ai didi

r - sliderInput 的最小/最大值的交互式/响应式(Reactive)更改

转载 作者:行者123 更新时间:2023-12-02 06:52:17 24 4
gpt4 key购买 nike

我找到了some information了解如何使用 siderbarPanel 中的响应式(Reactive)表达式更改 sliderInput。但我想用 numericInput 更改 slider 的 minmax,而不是 value。在 this server.R 的脚本表示只有 labelvalue 可以更改 slider 。是否有其他可能性使用响应式(Reactive)表达式更改 sliderInput 的最小/最大值?

这是一个例子:

ui.R:

shinyUI(pageWithSidebar(

#Sidebar with controls to select the variable to plot
sidebarPanel(

#Numeric Inputs
numericInput("min_val", "Enter Minimum Value", 1993),

numericInput("max_val", "Enter Maximum Value", 2013),

#Slider
sliderInput("inSlider", "Slider",
min=1993, max=2013, value=2000),

# Now I would like to change min and max from sliderInput
# by changing the numericInput.

mainPanel()
))

服务器.R:

library(shiny)

shinyServer(function(input, output, session) {

reactive({
x<-input$min_val
y<-input$max_val
updateSliderInput(session, "inSlider", min=x, max=y, value=x)
})
}

最佳答案

我认为最好通过 renderUI()uiOutput() 使用 Shiny 的动态 UI 函数来实现这一点。尝试以下示例:

ui.R

library(shiny)

shinyUI(pageWithSidebar(
headerPanel("Test Shiny App"),

sidebarPanel(
#Numeric Inputs
numericInput("min_val", "Enter Minimum Value", 1993),
numericInput("max_val", "Enter Maximum Value", 2013),
#display dynamic UI
uiOutput("slider")
),

mainPanel()
))

服务器.R

library(shiny)

shinyServer(function(input, output, session) {

#make dynamic slider
output$slider <- renderUI({
sliderInput("inSlider", "Slider", min=input$min_val, max=input$max_val, value=2000)
})

})

关于r - sliderInput 的最小/最大值的交互式/响应式(Reactive)更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18700589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com