У меня есть ряд флажков в боковой панели, определяются следующим образом Внутри sidebarPanel
:Попадая нескольких значений флажка в Блестящей
sliderInput("days",
"Days to monitor:",
min = 1,
max = 50,
value = 5),
checkboxInput("display_CMC", "Carolinas Medical Center", TRUE),
checkboxInput("display_MariaParham", "Maria Parham", TRUE),
checkboxInput("display_WakeMed", "Wake Med", TRUE)
Я хотел бы превратить эти результаты в вектор символов в программном пути (например, если у меня есть checkboxInput с именем «display_
Я хочу, чтобы он автоматически анализировал результаты). Чтобы сделать это, я попробовал:
displayIdx <- grep("display_", names(input))
facilityCode_keep <- names(input)[ displayIdx ][ input[ displayIdx ] ]
К сожалению, это приводит:
Error: Single-bracket indexing of reactivevalues object is not allowed.
два вопроса:
- Как превратить серию
checkboxInput
с в вектор символов? - Что происходит с запретом индексирования одиночной скобки. Я мог понять, пытался ли я назначить
input
, но я не уверен.
Отлично, спасибо! Любая идея, почему индексирование с одним скобкой не разрешено? –
Индексирование с одной скобкой является подмножеством, а индексирование с двумя скобками - извлечение элементов (или что-то в этом роде). Объект 'input' больше похож на map/hash/dict/environment, чем на именованный вектор, поэтому подмножество на самом деле не имеет смысла. (Аналогично, вы не можете индексировать единичные индексы на объектах среды R, вы можете только индексировать с двумя скобками.) –
Спасибо за действительно информативный ответ. Я добавил его к вашему ответу. –