Я пытаюсь вывести определенное число на основе значения из sliderTextInput, но по какой-то причине кажется, что оно не отображает правильное значение при изменении ползунка. Мой список вариантов для sliderTextInput: («0», «1», «2», «> 2»), и для каждого из этих значений он должен отображать текстовое значение (0, 25, 50, 75 ), но значение 0 обычно никогда не отображается, и кажется, что значения сдвинуты на одно значение. Вот воспроизводимый пример проблемы:
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
sliderTextInput("slider1", label = "What is your Score?",
choices = c("0","1", "2", ">2"), selected = "0"),
textOutput("score")
)
server <- function(input, output, session) {
output$score <- renderText(switch(input$slider1,
"0" = 0,
"1" = 25,
"2" = 50,
">2" = 75))
}
shinyApp(ui, server)
Я подумал, что это может быть потому, что он не может интерпретировать сочетание строк и чисел (например, «> 2» против «2») или значение 0 можно интерпретировать по-разному, но их изменение не повлияло. Единственный способ заставить его работать, это если я изменил каждое входное значение на чистую строку (например, «Ноль», «Один», «Два», «> Два»). Однако, не заключая числа в кавычки, заставляет оценивать как символ, а не как число? Или я полностью упускаю ошибку?