Stata 代码详解:生成家庭成员上网情况变量
这段 Stata 代码的目的是生成一个新的变量来判断家庭成员是否上网。代码通过以下步骤实现:
-
准备数据:
- 代码首先从多个数据集中提取家庭成员信息,包括家庭成员 ID (pid) 和上网情况 (ku201 和 ku202)。
- 数据集被分为 19 个子数据集,分别对应不同数量的家庭成员。
-
合并数据:
- 将家庭数据集 (famecon) 与相应的家庭成员子数据集 (a 和 c) 进行合并,以保证家庭信息和家庭成员信息一致。
- 合并后的数据集中包含了家庭成员 ID 和上网情况,以及家庭 ID。
-
生成上网变量:
- 使用
rsum函数对所有家庭成员的上网情况进行求和,得到一个新的变量rsum_x。 rsum_x的值代表家庭成员上网总人数。- 当
rsum_x大于零时,表示家庭中有成员上网;当rsum_x等于零时,表示家庭中没有成员上网。
- 使用
代码详解:
cd 'E:\0教学\!班级\222本科经济统计计量模型1234班\期末考试\cfps2016':切换到数据所在的目录。forvalues i = 1/19 { ... }:循环语句,用于生成 19 个子数据集。keep pid ku201 ku202:保留家庭成员 ID 和上网情况变量。gen adult=1:生成一个变量adult,用于标记成年人。rename pid pid_a_i':将变量pid重命名为pid_a_`i',方便后续合并。save a_i'.dta,replace`:保存每个子数据集。merge m:1 pid_a_j' using a_j'.dta ,gen(_merge_aj')`:将家庭数据集与家庭成员子数据集进行合并。drop if _merge_aj'==2 | _merge_cj'==2:删除没有对应家庭成员信息的数据。egen rsum_x = rsum(ku201_a_2 ku202_a_2 ... ku201_a_18 ku202_a_18):使用rsum函数计算家庭成员上网总人数。
总结:
这段 Stata 代码通过合并数据集和生成新的变量,实现了判断家庭成员是否上网的功能。代码步骤清晰,逻辑严谨,易于理解和修改,可以用于其他类似的数据分析任务。
原文地址: https://www.cveoy.top/t/topic/o6Pt 著作权归作者所有。请勿转载和采集!