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

Stata中如何将多响应问卷变量重编码为选项总和变量

多响应问卷数据处理问题

我正在处理多响应问卷数据,Q4包含6个选项(1-6),受访者可选择一个或多个选项。数据当前以二进制形式编码:每个选项对应变量Q4___1至Q4___6,取值为1(是)或0(否)。

以下是6个Q4___*变量中所有“是”(1)响应的tabstat结果:

Variable |       Sum
-------------+----------
      q4___1 |        63
      q4___2 |        33
      q4___3 |         7
      q4___4 |         2
      q4___5 |         3
      q4___6 |         7
------------------------
total = 115

我曾尝试用replace命令创建新变量,但得到的响应总数不符:

gen q4=. 
replace q4 =1 if q4___1 == 1
replace q4 =2 if q4___2 == 1
replace q4 =3 if q4___3 == 1 
replace q4 =4 if q4___4 == 1
replace q4 =5 if q4___5 == 1
replace q4 =6 if q4___6 == 1
label values q4 primarysource

对应的统计结果:

q4 |      Freq.     Percent        Cum.
------------+-----------------------------------
          1 |         46       48.94       48.94
          2 |         31       32.98       81.91
          3 |          6        6.38       88.30
          4 |          1        1.06       89.36
          5 |          3        3.19       92.55
          6 |          7        7.45      100.00
------------+-----------------------------------
      Total |         94      100.00

更新说明:我要创建的新变量需捕获每个选项的列总和(即63位受访者选选项1、33位选选项2这类数值),预期结果如下:

q4
-------------+----------
      q4___1 |        63
      q4___2 |        33
      q4___3 |         7
      q4___4 |         2
      q4___5 |         3
      q4___6 |         7
------------------------
total = 115   

想问两个问题:

  1. 如何创建符合需求的新变量?
  2. 这种二进制编码多选项问题的方式是否有效?

解决方案与解答

1. 创建符合需求的新变量

你之前用replace的方式有误:如果受访者同时选了多个选项,后续的replace会覆盖前面的赋值,最终只能保留最后一个被选中的选项,导致统计总数(94是受访者数量)和实际总响应次数(115)不符。

如果要提取每个选项的列总和并生成对应格式的数据集,可按以下方式操作:

// 生成包含选项名与对应总和的长格式数据集
clear
input str10 varname sum
"q4___1" 63
"q4___2" 33
"q4___3" 7
"q4___4" 2
"q4___5" 3
"q4___6" 7
end
// 添加总计行(可选)
set obs 7
replace varname = "total" if _n == 7
replace sum = 115 if _n == 7

执行后即可得到和你预期完全一致的结果格式。

如果需要在原受访者层面的数据中保留每个选项的选中次数,直接调用tabstat或sum q4___*的结果即可,无需额外生成变量。

2. 二进制编码方式的有效性

这种多重二分法编码多选项问题是问卷数据处理中的标准有效方式:

  • 优势:能完整保留每个受访者的选择细节,支持交叉分析、相关性分析等多种后续操作,统计单个选项的选中次数仅需调用sum命令即可完成。
  • 注意:如果需要分析受访者的选择组合,可额外生成组合变量,但基础的二进制编码是最灵活的存储格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:26:13