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

Qualtrics Loop and Merge数据处理方案问询(附R示例)

处理Qualtrics Loop and Merge数据的方案

一、Qualtrics原生处理方法(推荐)

  • 导出时直接生成目标格式:
    1. 进入问卷的Data & Analysis页面,点击右上角「Export Data」
    2. 在导出设置的「Advanced Options」中,勾选「Split Loop & Merge into Separate Rows」
    3. 选择导出格式(如CSV),导出后的数据即为你需要的长格式,无需额外处理
  • 已导出数据的补救转换:
    在Data & Analysis页面使用内置工具:
    1. 选择「Transform Data」→「Reshape Data」→「Convert Wide to Long」
    2. 选中所有Loop生成的带序号列(如1_date_time、2_inperson_virtual)
    3. 设置分组依据为基础信息列(org_name、website、contact),指定序号与主题的映射关系,完成转换

二、R语言简洁处理方案(tidyverse实现)

针对你提供的示例数据,用tidyr和dplyr可高效完成转换,替代繁琐的手动筛选堆叠:

首先加载依赖包:

library(tidyverse)

定义主题与序号的映射关系:

topic_map <- c("1" = "Dance", "2" = "Art", "3" = "Science", "4" = "Writing")

核心转换代码:

wanted_output <- qualtrics_output %>%
  # 拆分多主题为单独行,保留基础信息
  separate_rows(class_topic, sep = ", ") %>%
  # 将宽格式Loop列转为长格式,提取序号和问题字段
  pivot_longer(cols = starts_with(c("1_", "2_", "3_", "4_")),
               names_to = c("topic_id", ".value"),
               names_pattern = "(\\d+)_(.*)") %>%
  # 替换序号为实际主题,过滤无效NA行
  mutate(class_topic = topic_map[topic_id]) %>%
  filter(!is.na(date_time)) %>%
  # 整理列顺序并移除冗余列
  select(-topic_id, org_name, website, contact, class_topic, date_time, inperson_virtual)

验证输出:

print(wanted_output)

该代码可直接扩展到20+主题、15个Loop问题场景:只需更新topic_map覆盖所有主题序号,将pivot_longer的cols参数改为starts_with(as.character(1:20))即可匹配所有主题列。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 13:57:34