R带限制范围的闪亮滑块
在我的R sliderInput中,我想用较大的最大值限制给定滑块的输入范围。 例如,假设输入必须在间隔[1:10]内 当然,我现在可以在sliderInput选项中定义min=1,max=10,但是我将只得到一个具有此间隔值的滑块 我的目标是在[1:50]中看到一个具有值的滑块(例如),但用户只能在[1:10]间隔内移动此滑块。这将使我的应用程序更好。R带限制范围的闪亮滑块,r,shiny,R,Shiny,在我的R sliderInput中,我想用较大的最大值限制给定滑块的输入范围。 例如,假设输入必须在间隔[1:10]内 当然,我现在可以在sliderInput选项中定义min=1,max=10,但是我将只得到一个具有此间隔值的滑块 我的目标是在[1:50]中看到一个具有值的滑块(例如),但用户只能在[1:10]间隔内移动此滑块。这将使我的应用程序更好。 这可能吗?根据前面的问题,您可以使用最小值,此处滑块1限制为最大80,滑块2限制为50 rm(list = ls()) library(shi
这可能吗?根据前面的问题,您可以使用最小值,此处滑块1限制为最大80,滑块2限制为50
rm(list = ls())
library(shiny)
slider1limit <- 80
slider2limit <- 50
ui <-pageWithSidebar(
# Application title
headerPanel("Sliders should sum to 100!"),
# Sidebar with sliders whos sum should be constrained to be 100
sidebarPanel(
sliderInput("slider1", "Slider 1: ", min = 0, max = 100, value = 0, step=1),
uiOutput("slider")),
# Create table output
mainPanel(tableOutput("restable"))
)
server <- function(input, output,session) {
observeEvent(input$slider2,{
values <- min((100 - input$slider2),slider1limit)
updateSliderInput(session, "slider1", min =0,max=100, value = values)
})
output$slider <- renderUI({
values <- min((100 - input$slider1),slider2limit)
sliderInput("slider2", "Slider 2: ", min=0,max=100, value = values)
})
output$restable <- renderTable({
myvals<- c(input$slider1, input$slider2, 100-input$slider1-input$slider2)
data.frame(Names=c("Slider 1", "Slider 2", "Slider 3"),Values=myvals)
})
}
runApp(list(ui = ui, server = server))
rm(list=ls())
图书馆(闪亮)
slider1limit您可以使用from min
和from max
数据属性。这需要修改sliderInput
功能
sliderInput2 <- function(inputId, label, min, max, value, step=NULL, from_min, from_max){
x <- sliderInput(inputId, label, min, max, value, step)
x$children[[2]]$attribs <- c(x$children[[2]]$attribs,
"data-from-min" = from_min,
"data-from-max" = from_max,
"data-from-shadow" = TRUE)
x
}
ui <- fluidPage(
sliderInput2("slider", "Slide:",
min = 0, max = 100, value = 50, step = 5, from_min = 20, from_max = 80
)
)
server <- function(input, output) {}
shinyApp(ui, server)
sliderInput2再次感谢您。现在我有了我想要的一切来建造它。您今天帮了我很多忙您是否需要定义一个新的updateSliderInput
函数来更新from min
和from max
参数?