我正在尝试创建一个闪亮的应用程序,该应用程序将根据用户的响应来计算分数。使用checkboxGroupInput捕获用户的输入很重要。我知道该功能可以通过返回带有选定选项的字符向量来实现。
checkboxGroupInput的选择如下:“ CHF”,“高血压”,“中风/ TIA /血栓栓塞病史”,“血管疾病”,“糖尿病” 每个选择都会得到一个分数在用户做出选择之后,我想根据选择返回一个总得分值。每个选项的得分如下:“ CHF” = 1“高血压” = 1“中风/ TIA /血栓栓塞史” = 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 输出应该是被动的,因此如果用户更改选择以自动重新计算分数
非常感谢
答案 0 :(得分:0)
您可以使用分数创建命名向量:
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])