使用范围为的updateSliderInput更新闪亮的sliderInput
我有一个使用范围为的updateSliderInput更新闪亮的sliderInput,r,input,shiny,slider,range,R,Input,Shiny,Slider,Range,我有一个sliderInput(接收器),我想从另一个sliderInput(控制器)更新它。当我只为updateSliderInput中的value参数传递一个输入时,我的代码就工作了,但是如果我从receiver传递范围的向量,它就不工作了 在下面的代码中,我提供了两个滑块,可以工作,也可以不工作。我如何才能使updateSliderInput获取一个范围的值向量 library(shiny) shinyApp( ui <- fluidPage( fluidRow(
sliderInput
(接收器),我想从另一个sliderInput
(控制器)更新它。当我只为updateSliderInput
中的value参数传递一个输入时,我的代码就工作了,但是如果我从receiver传递范围的向量,它就不工作了
在下面的代码中,我提供了两个滑块,可以工作,也可以不工作。我如何才能使updateSliderInput
获取一个范围的值向量
library(shiny)
shinyApp(
ui <- fluidPage(
fluidRow(
column(4, sliderInput("controller", "Controller:", min = 0, max = 50, value = c(10,20)))
,column(4, sliderInput("receiver1", "Receiver 1 - Works with 1 value input", min=0, max=20, value=10, step=1))
,column(4, sliderInput("receiver2", "Receiver 2 - Doesn't work with 2 values in a vector", min=0, max=20, value=10, step=1))
)
,fluidRow(column(4, verbatimTextOutput("range1")))
,fluidRow(column(4, verbatimTextOutput("range2")))
)
,server <- function(input, output, session) {
observe({
updateSliderInput(session = session, "receiver1", value = c(input$controller[1]), min = 0, max = 100)
updateSliderInput(session = session, "receiver2", value = c(input$controller[1],input$controller[2]), min = 0, max = 100)
})
output$range1 <- renderPrint({input$controller[1]})
output$range2 <- renderPrint({input$controller[2]})
}
)
库(闪亮)
shinyApp(
ui您在ui
中为receiver1
和receiver2
指定了一个值,因此它们在updateSliderInput
中只接受一个值。如果您在receiver2
中放置两个值的向量,它将在updateSliderInput
中接受控制器的两个值
library(shiny)
shinyApp(
ui <- fluidPage(
fluidRow(
column(4, sliderInput("controller", "Controller:", min = 0, max = 50, value = c(10,20)))
,column(4, sliderInput("receiver1", "Receiver 1 - Works with 1 value input", min=0, max=20, value=10, step=1))
,column(4, sliderInput("receiver2", "Receiver 2 - Doesn't work with 2 values in a vector", min=0, max=20, value=c(0, 10), step=1))
)
,fluidRow(column(4, verbatimTextOutput("range1")))
,fluidRow(column(4, verbatimTextOutput("range2")))
)
,server <- function(input, output, session) {
observe({
updateSliderInput(session = session, "receiver1", value = c(input$controller[1]), min = 0, max = 100)
updateSliderInput(session = session, "receiver2", value = c(input$controller[1],input$controller[2]), min = 0, max = 100)
})
output$range1 <- renderPrint({input$controller[1]})
output$range2 <- renderPrint({input$controller[2]})
}
)
库(闪亮)
shinyApp(
ui您在ui
中为receiver1
和receiver2
指定了一个值,因此它们在updateSliderInput
中只接受一个值。如果您在receiver2
中放置两个值的向量,它将在updateSliderInput
中接受控制器的两个值
library(shiny)
shinyApp(
ui <- fluidPage(
fluidRow(
column(4, sliderInput("controller", "Controller:", min = 0, max = 50, value = c(10,20)))
,column(4, sliderInput("receiver1", "Receiver 1 - Works with 1 value input", min=0, max=20, value=10, step=1))
,column(4, sliderInput("receiver2", "Receiver 2 - Doesn't work with 2 values in a vector", min=0, max=20, value=c(0, 10), step=1))
)
,fluidRow(column(4, verbatimTextOutput("range1")))
,fluidRow(column(4, verbatimTextOutput("range2")))
)
,server <- function(input, output, session) {
observe({
updateSliderInput(session = session, "receiver1", value = c(input$controller[1]), min = 0, max = 100)
updateSliderInput(session = session, "receiver2", value = c(input$controller[1],input$controller[2]), min = 0, max = 100)
})
output$range1 <- renderPrint({input$controller[1]})
output$range2 <- renderPrint({input$controller[2]})
}
)
库(闪亮)
shinyApp(
你不会相信我花了多长时间看这个。谢谢!你不会相信我花了多长时间看这个。谢谢!