You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求可实现用户间答案传递的R语言在线问卷开发包

嗨,针对你的需求,我整理了几个适合的R包,既能搭建带选择题和开放式问题的在线问卷,还能实现用户间的答案传递功能:

适合的R包推荐

1. Shiny(核心基础包)

Shiny是R生态里做交互式Web应用的标配,完全能满足你的需求:

  • 问卷搭建:用内置的UI组件轻松实现各种题型:
    • 选择题:radioButtons()(单选)、checkboxGroupInput()(多选)
    • 开放式问题:textInput()(短文本)、textareaInput()(长文本)
  • 用户间答案传递:你可以通过几种方式实现:
    • 用reactiveValues()在应用内存中临时存储已提交的答案,新用户加载页面时就能读取这些数据;
    • 把答案持久化到本地数据库(比如SQLite,用DBI包操作)或者文件(比如CSV),这样即使重启应用,数据也不会丢失,所有用户都能访问历史答案。

举个极简示例,实现一个能展示之前用户答案的问卷:

library(shiny)

# 初始化存储答案的对象
saved_answers <- reactiveValues(data = data.frame())

ui <- fluidPage(
  titlePanel("共享答案问卷"),
  # 选择题
  radioButtons("choice", "你的偏好是?", choices = c("选项A", "选项B", "选项C")),
  # 开放式问题
  textInput("open", "补充说明:"),
  actionButton("submit", "提交答案"),
  hr(),
  h3("其他用户的答案:"),
  tableOutput("answer_table")
)

server <- function(input, output, session) {
  # 提交按钮逻辑
  observeEvent(input$submit, {
    # 新增当前用户的答案到存储
    new_row <- data.frame(
      偏好 = input$choice,
      补充说明 = input$open,
      提交时间 = Sys.time()
    )
    saved_answers$data <- rbind(saved_answers$data, new_row)
    # 清空输入框
    updateRadioButtons(session, "choice", selected = character(0))
    updateTextInput(session, "open", value = "")
  })
  
  # 展示所有用户的答案
  output$answer_table <- renderTable({
    saved_answers$data
  })
}

shinyApp(ui, server)

2. shinysurveys(问卷专用简化包)

如果不想从零写Shiny代码,shinysurveys是专门为问卷场景设计的封装包,能快速定义问卷结构,同时保留Shiny的交互能力:

  • 快速搭建问卷:用一个数据框定义所有问题(题型、选项、提示等),无需手动写每个UI组件;
  • 答案传递:同样可以结合Shiny的reactiveValues或数据库来实现共享答案,因为它本质还是基于Shiny的,所以兼容所有Shiny的后端逻辑。

示例代码片段(定义问卷结构):

library(shinysurveys)

# 定义问卷数据框
survey_df <- data.frame(
  question = c("你的偏好是?", "补充说明:"),
  option = I(list(c("选项A", "选项B", "选项C"), NA)),
  input_type = c("radio", "text"),
  input_id = c("choice", "open"),
  dependence = NA,
  dependence_value = NA,
  required = c(TRUE, FALSE)
)

# 后续可结合Shiny的逻辑实现答案共享,和前面的示例思路一致

额外提示

如果需要更复杂的用户管理(比如用户登录、区分不同用户的答案),可以搭配shinyauthr包实现身份验证,再结合数据库来精细化管理共享的答案数据。

内容的提问来源于stack exchange,提问作者Student1981

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:20:31