我正在为一些政府机构进行闪亮调查。我有一个虚拟问题。
这是数据框头的问题
问题 | 选项 | 输入类型 | 输入_id | 依赖 | 依赖值 | 必填 |
---|---|---|---|---|---|---|
Nombre completo del individual que captura。 | 名称 Primer apellido Segundo apellido | 文字 | nombre_个人 | 不适用 | 不适用 | 正确 |
货物 | De acuerdo al 组织图 | 文字 | 货物 | 不适用 | 不适用 | 正确 |
电子邮报 | En minúsculas | 文字 | correo | 不适用 | 不适用 | 正确 |
联邦实体 | 下加利福尼亚州 | 选择 | 实体 | 不适用 | 不适用 | 正确 |
联邦实体 | 南下加利福尼亚州 | 选择 | 实体 | 不适用 | 不适用 | 正确 |
联邦实体 | 坎佩切 | 选择 | 实体 | 不适用 | 不适用 | 正确 |
尾巴
问题 | 选项 | 输入类型 | 输入_id | 依赖 | 依赖值 | 必填 |
---|---|---|---|---|---|---|
代码 | AAAAA055555 | 选择 | 代码 | 实体 | 萨卡特卡斯 | 正确 |
代码 | AAAAA055556 | 选择 | 代码 | 实体 | 萨卡特卡斯 | 正确 |
¿Cuenta con energía electrica? | 巳 | y/n | 卢兹 | 不适用 | 不适用 | 正确 |
¿Cuenta con energía electrica? | 没有 | y/n | 卢兹 | 不适用 | 不适用 | 正确 |
¿Cuenta con internet? | 巳 | y/n | 互联网 | 不适用 | 不适用 | 正确 |
¿Cuenta con internet? | 没有 | y/n | 互联网 | 不适用 | 不适用 | 正确 |
这是我正在使用的代码。而且它有效。
library(shiny)
library(shinysurveys)
df <- read.csv("cuestionario_previa.csv", encoding = "latin1")
ui <- fluidPage(
surveyOutput(df = df,
survey_title = "Servicios de Energia Electrica e Internet",
survey_description = "Cuestionario rápido para el diagnostico de los servicios de luz e internet)
)
server <- function(input, output, session) {
renderSurvey()
observeEvent(input$submit, {
showModal(modalDialog(
title = "Congrats, you completed your first shinysurvey!",
"You can customize what actions happen when a user finishes a survey using input$submit."
))
})
}
shinyApp(ui, server)
但是,正如您在尾部看到的,我有一个名为 CODE 的问题,它是问题“entidad”的一个依赖问题。
即如果
entidad == "COLIMA"
我想要这个状态的 CODE 子集。
使用我的数据框,我收到此警告: 警告消息: 选择输入“代码”包含大量选项;考虑使用服务器端 selectize 来大幅提高性能。请参阅 ?selectizeInput 帮助主题的详细信息部分。
我尝试了以下想法:还有其他方法使用 R Shiny 创建依赖调查问卷吗?
但无法使其发挥作用
另外,我尝试将 selectize 添加到我的服务器
server <- function(input, output, session) {
renderSurvey()
updateSelectizeInput(session, "clues")
observeEvent(input$submit, {
showModal(modalDialog(
title = "Congrats, you completed your first shinysurvey!",
"You can customize what actions happen when a user finishes a survey using input$submit."
))
})
}
updateSelectizeInput
的使用似乎是错误的。应该是这样的:
updateSelectizeInput(session, 'id', choices = options, selected = character(0), server = TRUE)
其中 session 是会话引用对象,options 是一个字符变量,包含要显示的完整选项列表,selected 可以是字符(0)以显示不默认选项或字符串,而 server = TRUE,启用服务器端选择。
我不知道shinysurvey包是如何工作的,但是您可以使用nav_panel_hidden从头开始开发调查并制定观察答案的逻辑。