Как включить все наблюдения в диапазон sliderInput в Shiny in R - PullRequest
0 голосов
/ 27 марта 2020

У меня есть список от 1 до 100, с общей разницей 1.

Итак, мой слайдер имеет диапазон от min=1 и max=100 тоже.

И выбранный диапазон будет сохранен в selected_value (Глобальная среда).

А вот мой код:

library(shiny)
ui <- fluidPage(
  fluidRow(
    column(4,
           sliderInput("slider","Slider Range", 
                       min = 0, max = 100, value = c(40, 60)))),

  fluidRow(
    column(4, verbatimTextOutput("range"))))

server <- function(input, output) {

  output$range <- renderPrint({input$slider})
  observe(selected_value <<- input$slider)}

shinyApp(ui,server)

Моя проблема, скажем, я выбрал диапазон от 33 до 40 на слайдере, но selected_value покажет только Только 33 и 40.

Но я хочу показать все наблюдения: 33, 34, 35, 36, 37, 38, 39, 40.

Что мне добавить, чтобы получить желаемый результат? Буду очень признателен, если кто-нибудь сможет мне помочь ...

1 Ответ

0 голосов
/ 27 марта 2020

Вот пример, показывающий, как поместить диапазон в среду reactive. Это необходимо, если вы хотите повторно использовать этот диапазон где-то еще, чем в вашем первом renderPrint. Вот, например, вы можете использовать его в двух renderPrint средах:

library(shiny)
ui <- fluidPage(
  fluidRow(
    column(4,
           sliderInput("slider","Slider Range", 
                       min = 0, max = 100, value = c(40, 60)))),

  fluidRow(
    column(4, 
           verbatimTextOutput("range"),
           verbatimTextOutput("range_2"))))

server <- function(input, output) {

  the_range <- reactive({
    input$slider[1]:input$slider[2]
  })

  output$range <- renderPrint({
    the_range()
  })

  output$range_2 <- renderPrint({
    the_range()
  })

}

shinyApp(ui,server)

Поскольку реактивные выражения действительно являются чем-то базовым c и важны в Shiny, я предлагаю вам следуйте некоторым учебникам, таким как этот .

...