CFPS项目组提供转换表:https://www.isss.pku.edu.cn/cfps/wdzx/sjwd/1357972.htm。
具体可使用
[size=1.1em]crosswalk命令
crosswalk命令是瑞士伯尔尼大学社会学教授Ben Jann开发的Stata命令[11](estout输出表格指令也是其开发的[12])。根据help文件,crosswalk可以实现ISCO不同年份编码之间的转换,以及ISCO与ISEI/SIOPS/EGP等社会地位测量之间的变换。同时,crosswalk命令还可以实现自定义转换列表和命令,省去上述修改和调试ado文件的繁琐过程。

ISCO与ISEI/EGP/SIOPS等地位指标的转换

也可以实现ISCO编码之间的转换
首先安装crosswalk命令和moremata包。
//安装crosswalk命令 ssc install crosswalk, replace //安装moremata(运行crosswalk需要moremata包) ssc install moremata, replace
导入数据,查看职业变量的取值和缺失值。复制csco和isco对应的列表(这里空间有限,仅复制部分表格)。复制之后需要根据数据中的缺失值定义进行简单修改。这里将新定义的转换命令命名为cscoisco08(名字可以自定义)。
use "D:\CGSS\2005\cgss2005_14.dta",clear // 导入数据countcodebook qb09a,t(999)//定义转换表,生成cscoisco08转换指令,即将CSCO转换为ISCO88//添加{},折叠代码{crosswalk define cscoisco08()00 110010 110020 110021 110022 114023 110024 110025 120029 120030 114031 114132 114233 11437 .8 .9 .997 .999 .end }//添加duplicates(first)选项,如果原值(转换表中第一列)重复,使用第一个出现的转换值crosswalk qb09aisco08 = cscoisco08(qb09a),duplicates(first)//将中层干部、中层领导、生产队长等编为生产经营方面的部门经理或主管(isco88代码1220)replace qb09aisco08 = 1220 if inlist(qb09a,301,302,401,518,601,602,603)//将isco88转换为iseicrosswalk isei = isco88_to_isei(qb09aisco08)//查看iseitab isei
由于CFPS提供的转换表为多对一映射,在使用命令时,需要在最后加上duplicates(first),代表使用第一个出现的对应值。