224 1

[其他] CGSS多期数据怎样合并:2021与2023混合截面整理方案 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

0%

还不是VIP/贵宾

-

威望
0 级
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
10 点
帖子
0
精华
0
在线时间
0 小时
注册时间
2026-11-3
最后登录
2026-11-3

楼主
贡献毛益40105 发表于 2026-11-3 14:35:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
CGSS多期数据怎样合并:2021与2023混合截面整理方案

 

把 CGSS 2021 和 CGSS 2023 拼成一张表,最容易犯的错不是合并命令写错,而是把两批不同的人当成了同一个人的两次观测。CGSS 是连续性截面调查(repeated cross-section),每年抽的是新的样本,年与年之间没有个体追踪关系。合并后的数据只能做「年份之间的比较」,不能做「个体层面的变化」——一旦按 id 跑固定效应或算「某人两年间的变化」,结论就是假的。

 

确认了这一点,接下来的活才是技术性的:变量对照、编码统一、标记追加、权重处理。下面按这四步拆,每一步都给出判断依据和检查方法。

 

两年的数据规模与结构差在哪

 

先把两年摆在一起看,差异一目了然(数字取自 CNSDA 项目页的项目文档信息):

 

项目CGSS 2021CGSS 2023
有效样本量8,14811,326
变量数700437
调查模式面访面访+电话调查
抽样程序多阶分层抽样面访用多阶分层抽样;电话调查用「固定样本+RDD」
分析单位个人、家庭个人、家庭
覆盖与年龄中国大陆,18+中国大陆,18+
项目编号6563542211256439
随数据发布的文档问卷(PDF)、Stata、SPSS 各一份入户问卷 PDF、电话问卷 PDF、2023 编码表 Excel、CGSS2010—2023 采访地点统一编码表 PDF、Stata 数据

 

三处差异会直接决定合并方案。
第一,变量数从 700 掉到 437,意味着 2023 并不是 2021 的超集,不能「以 2021 为模板补齐」;共同变量得靠编码表逐个对。
第二,2021 只有面访,2023 是面访+电话双模式,同一份问卷在两套模式下可能触发不同的跳转逻辑,缺失值形态会不一样。
第三,2023 多了一份「CGSS2010—2023 采访地点统一编码表」,这是跨年合并最省事的一份材料——地点类变量(省、市、区县)的编码在各年之间有变动,用这份统一码表对齐,比自己去猜代码含义可靠。

 

第一步:拿编码表做变量对照

 

不要凭变量名合并。CGSS 的变量名(如 a 系列人口属性、q 系列态度题)在年际间大体稳定,但题号会调整、选项会增减,光看名字对齐很容易把「5 级量表」和「7 级量表」拼到一列里。

 

正确做法是建一张三列对照表:变量名(21)/变量名(23)/是否可比。判断「可比」的标准有三个——题干问的是不是同一件事、选项集合是否一致、取值范围是否一致。三者齐了才算直接可比;题干相同但选项变了(比如增加了「不好说」),只能算「需重编码后可比」;题干变了就是不可比,即使变量名相同也不能合。

 

这一步最花时间,但省不掉。实际操作中可以先把两年编码表(2023 的编码表是 Excel,2021 的编码表在问卷 PDF 里)并排打开,只挑你模型里要用的那十来个变量做对照,而不是全表对齐——全表对齐既没必要,也容易出现「看起来对齐了其实含义不同」的错觉。

 

第二步:统一缺失编码与「不适用」

 

合并后最常见的错误结果,是某个变量在合并数据里「样本量突然变大」。原因通常是两边的缺失编码不一致:一年用负数(-1、-2、-3 分别表示不知道、拒答、不适用),另一年用 8/9 或 98/99,还有的年份直接把「不适用」写成空白。合并时如果只做 append 不做重编码,这些码会被当成有效数值进入回归。

 

处理顺序建议是这样:先把各年的特殊码全部映射成统一的一套(例如 -1 不知道、-2 拒答、-3 不适用、-8 其他缺失),并保留一份原始码在新变量里(如 q1_raw),再做数值化。保留原始码这一步救过很多人——等你发现某个变量均值异常时,回头还能查是哪种缺失混进来了。

 

第二件要注意的是跳转题。CGSS 有大量「如果上一题选 A 则回答本题」的结构,2023 的电话模式在跳转实现上与面访不完全一致,同一个人群在两种模式下「不适用」的比例可能差很多。检查办法很简单:合并后按年份、按调查模式分别算每个关键变量的缺失率,如果 2023 电话样本的缺失率明显异常,就要怀疑是模式效应而不是真实差异。

 

第三步:追加年份标记与调查方式标记

 

合并前一定要加两个变量,这不是可选项。

 

第一个是年份标记(year,取 2021/2023)。没有它,合并数据就是一堆无法区分来源的行,任何「按年比较」的分析都做不了。

 

第二个是调查方式标记。2023 有面访与电话两种模式,而 2021 只有面访,所以这个变量的取值集合在两年之间天然不同。它的用途是做敏感性分析:把 2023 的电话样本剔除后重跑一遍,如果结论大变,说明你测到的「年份差异」里混了「模式差异」。

 

除了这两个,还建议加一个「原始数据来源」标记(记录是哪一个项目编号的数据),以及一个行序号(合并后行序会被打乱,出问题时靠它回溯到原始文件)。

 

第四步:纵向合并与权重处理

 

Stata 里是 append,R 里是 bind_rows,Python 里是 pd.concat——命令本身没有难度,难在合并前后的检查。

 

合并前检查三件事:两边变量名是否已经统一到同一套(建议直接在合并时重命名,别指望事后补)、两边类型是否一致(数值 vs 字符,尤其注意「未处理过的字符型变量」这类情况)、两边是否有同名但含义不同的变量(这类必须先改名,否则合并会把两列悄悄并成一列)。

 

合并后检查三件事:总行数是否等于两年之和(8,148+11,326=19,474,对不上就是有行被丢)、每列的缺失率是否落在预期范围内、关键变量的取值范围是否仍然合理(比如年龄段不该出现负数或 999)。

 

权重是最容易被忽略的一块。CGSS 各年会提供设计权重与事后分层调整,但 2023 因为有电话样本,权重的构造口径与纯面访年份不同。合并后如果直接用一套权重做加权,等于假设两年的权重含义相同——这个假设通常不成立。稳妥的做法是:分年加权做描述统计,合并样本里把权重当作「分年内可比、跨年需谨慎」的变量处理,并在方法部分写明你用的是哪一套权重、有没有做跨年可比性检查。

 

合并后必须报的三件事

 


第一,分年描述统计表。样本量、关键变量的均值与缺失率按年分别列,读者才有办法判断「年份差异」是不是样本结构变化造成的。

 


第二,模式敏感性。2023 剔除电话样本后重跑主模型,把两套结果并排给出。这一步做了,审稿人基本不会再追问「你的年份效应是不是问卷模式效应」。

 


第三,可比性说明。明确写清这是混合截面不是追踪面板、哪些变量因为选项变化做了重编码、哪些变量因为不可比而被放弃。这一段不是免责声明,是让读者能判断你的结论边界在哪。

 

顺带一句:如果研究问题本质上是「同一批人随时间怎么变」,CGSS 就不是合适的 data——它是重复截面,没有个体追踪。这种问题该去找有追踪设计的调查(如 CFPS、CHARLS 一类),而不是硬在 CGSS 上凑。

 

────────────────

回复本帖,可见 CGSS 2021 与 2023 两个数据集在 CNSDA 的官方项目页与编号、下载与注册流程、官方的数据引用说明原文,以及本帖整理的变量对照表模板(含可比性判定列)与合并后的检查清单,方便你直接照着做一遍。


游客,如果您要查看本帖隐藏内容请回复

把经管之家装进你常用的 AI 智能体中

一键快捷安装经管之家 MCP/技能,让 AI 帮你查教程、找数据、读论坛帖子。

检索、阅读公开帖子不收费,安装可申请领取:3 通用积分+100 论坛币+3 元论坛资金

请点击查看安装教程与福利 →

说明: AI 算力按所用平台规则计算;附件按原帖条件获取;福利领取条件以活动页面为准。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


沙发
货币供给46818 发表于 2026-11-3 16:30:01
想按这套清单把两年数据合起来

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-11-7 17:47