showcase - Cambio interactivo/reactivo de los valores mínimos/máximos del control deslizante
shiny server (1)
Creo que esto se logra mejor utilizando las funciones de IU dinámicas de renderUI()
través de renderUI()
y uiOutput()
. Pruebe el siguiente ejemplo:
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()
))
servidor.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)
})
})
Encontré información sobre cómo cambiar el value
de una entrada de sliderInput
con una expresión reactiva dentro de siderbarPanel
. Pero en lugar del value
, me gustaría cambiar el min
y el max
del control deslizante con un valor numericInput
. En este script para server.R
dice que solo la label
y el value
pueden cambiarse para los controles deslizantes. ¿Hay alguna otra posibilidad de cambiar los valores mínimo / máximo de la sliderInput
del sliderInput
con una expresión reactiva?
Aquí hay un ejemplo:
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()
))
servidor.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)
})