目前国内各大研究机构释放出来的数据很多,如CHNS、CGSS、CFPS、CHFS等等,那么数据清理需要进行哪些步骤呢?
数据清理第一步:整体数据查看
一、读取数据——数据转码Unicode
比如常见的我们在stata14进行数据读取时,结果是乱码。然后用Unicode analyze 对其进行分析,结果说该文件需要进行Unicode translate。此时,关键是要设对需要转换文件的原始编码类型。
例如,如果原始数据中变量标签为中文,用stata14打开时,变量标签无法识别。此时,需要设定编码类型。命令为 Unicodeencoding set gb18030,即设定编码类型为国标18030,即简体中文。
然后,用Unicode analyze filename. dta 分析文件是否需要转换,如结果为需要,那么继续用Unicode translate filename. dta来转换数据文件中不可识别的中文汉字。成功以后,原始数据中不能识别的中文则可以在stata14中识别了。
其实,在实际数据读取过程中,我们只是偶然会遇到这种情况。更多的情况是各种不同数据格式之间的转换,比如一些数据库的原始数据是SAS数据或者SPSS数据甚至直接就是Excel数据,此时我们需要转换成Stata可以读取的dta格式,这里Excel数据可以用Stata软件直接转换,其他的推荐Stata translate软件进行转换。
二、查看识别变量——isid、duplicates
重复记录是数据清理中一个非常常见的问题,可能就是因为该问题太常见了,所以Stata开发了一整套识别、描述和移除重复记录的命令。
一般而言,每个数据集都有唯一一个识别每条记录的识别符(重复测量的长型数据除外)。Stata检查唯一识别符是否唯一的命令为isid(或许是is this an ID的缩写)。isid允许同时检查多个唯一识别符,如果没有返回值,就说明是唯一的(没有消息就是好消息);如果不唯一,就会出现红色提示variable *** does not uniquely identify the observations。如采用下面例子中的查重方式:
如果出现重复记录就需要详细查看重复记录的情况。深入检查数据集重复记录的Stata命令为duplica