我试图根据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 的解释可能不同,但更改这些没有效果。我能够让它工作的唯一方法是,如果我将每个输入值更改为一个清晰的字符串(例如“零”、“一”、“二”、“二”)。但是,用引号括起来的数字不会强制评估为字符,而不是数字吗?还是我完全错过了这个错误?