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

如何通过R的qualtRics包并行调用Qualtrics API获取两种格式数据?

如何用并行请求加速qualtRics包拉取两种格式的数据?

完全可以通过并行请求加快这两个拉取任务的处理速度——因为两个请求相互独立,无需等待其中一个完成再执行另一个。以下是具体实现方案:

实现步骤

1. 加载所需包

除qualtRics外,我们可以用furrr包(基于future框架)实现并行操作,它语法贴近常用的purrr,上手简单:

library(qualtRics)
library(furrr)

2. 配置Qualtrics凭证(与你原代码一致)

qualtrics_api_credentials(api_key = "API KEY", base_url = "url", install = TRUE, overwrite = TRUE)

3. 设置并行执行计划

plan(multisession)会启动多个R会话并行处理任务,你可以根据电脑核心数调整workers参数:

# 比如设置4个并行会话,可根据硬件情况调整
plan(multisession, workers = 4)

4. 并行执行拉取任务

把breakout_sets的两个参数值存入列表,用future_map并行调用fetch_survey:

# 定义包含两种参数取值的列表
params_list <- list(TRUE, FALSE)

# 并行拉取数据
survey_data <- future_map(
  params_list,
  ~ fetch_survey(
    surveyID = SURVEYID,
    unanswer_recode = -99,
    unanswer_recode_multi = 0,
    breakout_sets = .x,
    label = TRUE,
    force_request = TRUE,
    verbose = FALSE
  )
)

# 拆分结果,分别对应两种格式的数据
split_qualtrics <- survey_data[[1]]
nonsplit_qualtrics <- survey_data[[2]]

5. 关闭并行会话(可选)

任务完成后可关闭并行会话释放资源:

plan(sequential)

注意事项

  • Qualtrics API限流:Qualtrics对API请求有频率限制,并行请求不要过度激进,避免触发限流导致请求失败。
  • 硬件资源占用:并行会话会消耗更多CPU和内存,workers数量不要超过电脑可用核心数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:10:28