本文是在读书会上对下面文献做数据复制之后的简单整理,参考文献:
刘欣、胡安宁,2016,《中国公众的收入公平感:一种新制度主义社会学的解释》,《社会》第4期。
在大型的社会调查中,问卷往往会涉及受访者的具体职业 ,而我们知道职业的类别之多,往往让我们对这一变量无从下手。如下图是来自于CGSS2006(2006年中国综合社会调查,该数据向社会公开,研究者可以通过中国国家调查数据库下载获取)问卷中的一道题,问卷中该题目询问了受访者的职业类别,而在问卷中要求受访者回答具体的职业:如“小学教语文兼年级组长”等等,可以想象,具体的职业类别一定会纷繁复杂,每一种职业都是一个类别,这样产生的类别可能高达好几百种,但是在对问卷数据进行分析的时候我们不可能对这几百种职业类别都进行分析(如放到回归模型中去跑),那怎么来处理职业这个超多类别的变量呢。本文将介绍一种处理办法:将职业这个超多类别的类别变量转换成职业声望(定序/定距变量)。变为定距变量之后就可以更加方便地应用到数据模型中去了。
我们首先使用 codebook 命令来看看数据中对这道题的编码(部分),如下图所示这是CGSS项目组在调查时采用的职业编码,从1000—8009涵盖了各种各样的职业。
我们现在要做的工作就是将这些职业编码全部转换成职业声望得分,需要两步完成。
1、先将CGSS问卷的职业编码转换成通用的国际标准职业编码ISCO(International Standard Classification of Occupations)。
2、然后再将国际标准职业编码转换成国际标准职业声望(Standard International Occupational Prestige Scale,SIOPS)得分(Treiman,1977)。
ISCO-88 是由国际劳工组织(International Labor Organization,ILO)发布的国际标准职业分类(ILO,1990)。Ganzeboom 等人(1992)以这套国际标准职业分类为标准,采用从最不发达到最发达的 16 个国家的 31 套数据,提出了一套国际标准职业社会经济地位测量指标,包括 ISEI、Treiman’s SIOPS 和 EGP 职业分类。这套指标不仅具有国际代表性,而且解决了国别差异问题(Duncan,1961;Ganzeboom,Graaf and Treiman,1992)。这三个指标分别代表了职业社会经济地位测量的三个维度:声望维度、社会经济维度和阶级维度。每个维度的指标都有着不同的测量和建构逻辑。Treiman’s SIOPS 是由 Treiman(1977)整合 60 个国家之职业声望量表编制而成,主要依据不同国家之职业声望量表而来,该数值表示不同职业类别在社会上所代表的声望高低;而 ISEI 则是由 Ganzeboom 等人(1992)对邓肯社会经济地位指数(Duncans’ SEI)(Duncan,1961)的改进,基于职业的平均受教育水平和收入计算而来。与 Treiman’s SIOPS 和 ISEI 不同的是,EGP 职业分类是一种分类指标。ISEI 和 Treiman’s SIOPS 都是连续性指标,其数值的大小反映了职业间相对地位的不同。EGP 职业分类基于 Erikson 和 Goldthorpe(1992:37-40)的职业分类框架,以劳动力市场上的雇佣关系和技能水平作为划分职业分类的维度,将职业划分为 10 个类别。(此段引自中国家庭追踪调查CFPS2010的技术文档《中国家庭动态跟踪调查——职业社会经济地位测量指标构建》,源文档请参看链接CFPS2010年技术报告),本文仅示范将 ISCO-88转换成Treiman’s SIOPS,其他同理,读者请自行尝试。
不过人家Ganzeboom也说了,1988年的ISCO迟早都要被2008年的ISCO-08所取代的。
迄今为止,唐启明(Donald J Treiman)的职业声望量表仍是社会学领域普遍使用的具有权威性的量表。中国社会学界目前尚无关于中国职业声望的权威测量,因此,海内外学者在研究中国社会的相关问题时,常采用唐启明的职业声望量表。 虽然唐启明的职业声望量表对中国社会的适用性仍需用实证资料进一步加以检验,但就已有的研究结果来看,这一量表仍不失为一种较有效的测量(刘欣、胡安宁,2016)。将职业这个类别变量转换成职业声望得分之后可以更容易地进入数据模型中。
CGSS2006已经将问卷中的职业编码转换成了ISCO-88的编码,变量名为 isco_nc ,这为我们省去了第一步,只需要进行接下来的第二步就可以了,将ISCO-88转换成SIOPS。
stata提供了专门的外部命令来处理这些转换。
通过 findit isko 命令我们安装 isko 命令包(好像要挂vpn才可以连上)
安装完毕之后,通过 help isko 来看看用法吧:
通过上述用法,我们只需要写出下面的一条命令便可完成转换了:
iskotrei siops, isko(isco_nc)
转换完之后的数据如下所示,接下来的数据分析我们就可以直接使用职业声望得分(siops)了,用起来更加方便。如果有需要,我们还可以再将siops的分数做二次转换,若有合适的临界值(可以看看刘欣,胡安宁的文章,比较巧妙的找到了划分的临界值),可以将siops转为职业声望高、中、低三个类别的类别变量,运用replace 或者 recode 命令很容易就做到了,就不再多说了。
同样的道理大家还可以将ISCO-88转换成ISEI等等、命令按照help中给出的写法即可。
iskoisei isei, isko(isco_nc)
..........
此外,还有适用于ISCO-68转88的命令 isco,感兴趣的可以通过 findit isco获取,然后通过help isco查看具体的用法。