r - 单击复选框时更改滑块输入值
问题描述
我有三个带有标签年份、长度、计数的滑块。我想添加一个“查看全部”复选框,单击该复选框时,会将滑块输入分别更改为每个滑块的最小值和最大值。
这是我尝试过的代码,我不确定如何更改所有三个滑块,以及我是否一开始就做对了?
observeEvent(input$checkbox==TRUE,
updateSliderInput(session = session, inputId = "years", min = 1979, max = 2015))
另外,我不确定未单击复选框时如何处理。最好使用复选框来更新三个滑块?
解决方案
当用户标记复选框时,下面的应用程序将范围滑块的值设置为最大范围。当用户取消选中复选框时,范围滑块的值将设置为之前的值。概括为三个滑块没有困难,只需重复相同的代码即可。
library(shiny)
slider1_min <- 0
slider1_max <- 50
slider1_init <- c(20,30)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput("slider1",
"Range:",
min = slider1_min,
max = slider1_max,
value = slider1_init),
checkboxInput("checkbox", "Set to full range")
),
mainPanel()
)
)
server <- function(input, output, session) {
slider1_values <- reactiveVal(slider1_init)
observe({
if(input$checkbox){
slider1_values(isolate(input$slider1))
updateSliderInput(session, "slider1", value=c(slider1_min, slider1_max))
}else{
updateSliderInput(session, "slider1", value=slider1_values())
}
})
}
# Run the application
shinyApp(ui = ui, server = server)
推荐阅读
- python - 我无法弄清楚查看此数据框特定实例的语法
- r - 获取数据框中重复值的行索引
- seaborn - 在 seaborn 中绘制配对数据,类似于 R 中的 ggpaired
- r - 动态创建单位标签(K,Mn,Bn,Tn)+调整双轴ggplot2图的轴限制?
- javascript - 如何正确地异步运行for循环?
- python - 如何在所有大写单词之后替换句点?
- arduino - 如何在 ESP8266 中使用 SoftwareSerial
- javascript - 如何在 Mars Rover Kata 中停止此循环?
- c - 数组:问题声明
- python - 在熊猫中按组仅保留某些日期之前的行