Как отрисовать неравенства в выпадающем списке R Shiny SelectInput - PullRequest
0 голосов
/ 21 января 2020

Я создал приложение R Shiny, используя пакет shinydashboard. Я не могу заставить неравенства или символы юникода появляться в выпадающих списках с помощью функции selectInput. Может ли кто-нибудь помочь мне понять, как получить знак «больше или больше» или «равно» (≥) в раскрывающемся списке? Вот пример, который демонстрирует проблему:

library(shiny)
library(shinydashboard)
library(shinyjs)

ui <- shinyUI(dashboardPage(
  dashboardHeader(),
  dashboardSidebar(collapsed = FALSE,

                   selectInput("Age", "4. Select Age Group:",
                               c("\u2265 6 months" = "_6plus",
                                 "&ge 6 months" = "_6plus2",
                                 "&#8805; 6months" = "_6plus3",
                                 "&#8805; 6months" = "_6plus3",
                                 "6 months - 4 years" = "_6_4"))),

  dashboardBody(
    useShinyjs()
  )
))

server <- shinyServer(function(input, output, session) {
  #addClass(selector = "body", class = "sidebar-collapse")
})

shinyApp(ui = ui, server = server)

Однако, эта ни одна из попыток не работает. Буду признателен за любую помощь. Спасибо.

1 Ответ

0 голосов
/ 21 января 2020

Поработав над этим в течение некоторого времени, я нашел одно решение, но я все равно буду благодарен за предложения от других. Единственный способ сделать это sh - это разместить возрастные категории в текстовом файле UTF-8, скажем, agegroups.txt, прочитать файл с пакетом readr, создав именованный вектор из читать тиббл, а затем использовать вектор для создания выпадающих. Вот пример, который работает:

Текстовый файл:

≥6 months
6 months - 17 years
≥18 years

R Код:

library(readr)
agegroups <- unique(read_csv("d:\\\\agegroups.txt"))
agegroupchoices <- setNames(agegroups$AgeGroups, agegroups$AgeGroups)

ui <- shinyUI(dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    collapsed = FALSE,
    selectInput("Age", "4. Select Age Group:", agegroupchoices)
  ),
  dashboardBody(
    useShinyjs()
  )
))

server <- shinyServer(function(input, output, session) {})
shinyApp(ui = ui, server = server)
...