Как получить входные векторные символы из checkboxGroupinput и преобразовать в числовой счет - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать блестящее приложение, которое будет рассчитывать оценку на основе ответов пользователя.Важно, чтобы я захватил ввод пользователя, используя checkboxGroupInput.Я понимаю, что эта функция работает, возвращая вектор символов с выбранными вариантами.

Варианты для checkboxGroupInput следующие: "CHF", "Гипертония", "История инсульта / TIA / тромбоэмболии", "Сосудистые заболевания »,« Диабет ». Каждый выбор получает оценку. После того, как пользователь делает свой выбор, я хотел бы вернуть общее значение оценки, основанное на выборе.Баллы за каждый выбор следующие: «CHF» = 1 «Гипертония» = 1 «Инсульт / ТИА / История тромбоэмболии» = 2 «Сосудистые заболевания» = 1 «Диабет» = 1

   checkboxGroupInput(inputId = "PMH", 
                         label = "Past Medical History",
                         choices =  c("CHF", "Hypertension", 
     "Stroke / TIA/Thromboembolism history", "Vascular disease", "Diabetes"))

Я ожидаюрезультат в блестящем виде будет общим счетом, основанным на выборе, сделанном пользователем.Поэтому я хочу преобразовать входные данные векторных символов в общую числовую оценку на основе того, что выберет пользователь.Я думаю, что это сводится к 120 возможным комбинациям. Вот некоторые примеры: если он / она не сделал никакого выбора, общий балл должен быть 0 Если он / она выбрал все варианты, общий балл должен быть 6, если он / она выбрал «CHF»и «история инсульта / TIA / тромбоэмболии», общий балл должен быть 3, если он / она выбрал «CHF», а «история инсульта / TIA / тромбоэмболии» и «сосудистое заболевание» - 4. Выходные данные должны быть реактивными, поэтому, если пользователь меняет свойварианты автоматического пересчета баллов

Большое спасибо

1 Ответ

0 голосов
/ 26 марта 2019

Вы можете сделать именованный вектор со счетами:

scores <- c(
  "CHF" = 1, 
  "Hypertension" = 1, 
  "Stroke / TIA/Thromboembolism history" = 2, 
  "Vascular disease" = 1, 
  "Diabetes" = 1
)

В input$PMH имеется вектор, содержащий некоторые заболевания, например:

x <- c("CHF", "Vascular disease") # example of input$PMH

Тогда вы получите общий балл так:

sum(scores[x])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...