gpt4 book ai didi

r - 在 Shiny 中为 sliderInput 定义特定范围的值

转载 作者:行者123 更新时间:2023-12-05 02:04:24 27 4
gpt4 key购买 nike

即使我认为在 Shiny 中有很多主题涉及 sliderInput 的属性,但我找不到解决我正在尝试做的事情的方法。

我的问题很简单:我想调整我的代码(见下文)以创建一个间隔为“10”(从 0 到 10、10 到 20、3 到 13 等...)的 slider

###running example: 

ui <-basicPage(
sliderInput("id", "Ranking",
min = 2, max = 60, value = c(2,15)))


server <- server <- function(input, output) {}

shinyApp(ui, server)

有什么想法吗?

最佳答案

每次 slider 更改时,您都可以调用 updateSliderInput,以强制执行间隔。

这里的技巧是记住以前的值来更新正确的处理程序(没有改变的那个)

INTERVAL = 13
value = c(2, 2 + INTERVAL)

ui <-basicPage(
sliderInput("id", "Ranking",
min = 2, max = 60, value = value))

server <- server <- function(input, output, session) {
observeEvent(input$id,{
newvalue = input$id

if(value[1] != newvalue[1] && newvalue[2] - newvalue[1] != INTERVAL)
updateSliderInput(session, "id", value = c(newvalue[1], newvalue[1] + INTERVAL))

if(value[2] != newvalue[2] && newvalue[2] - newvalue[1] != INTERVAL)
updateSliderInput(session, "id", value = c(newvalue[2] - INTERVAL, newvalue[2]))

value <<- newvalue
})
}

shinyApp(ui, server)

关于r - 在 Shiny 中为 sliderInput 定义特定范围的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64357406/

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