一、录入
对纸质调研问卷的录入,规范的录入方式应该是对数据独立双次录入,使用EpiData这样的录入软件更可以有效地控制录入质量。
对双次录入后的数据集,使用cf命令进行一次性检查,直至完全一致。
二、对数据逐个变量检查
1、先总览一下数据集,对数据集进行描述,命令为describe,可跟varlist。选择项可加short、simple只显示头部信息或变量名称。
2、对变量值进行检查
对于分类变量,使用tabulate命令,了解变量值的频数。该命令后必加varlist。tab1加多个变量可对多个变量逐个描述,tabulate或tab2加两个或以上变量会对任何一个两两变量组合进行二维描述。
对于连续型变量的取值,使用的命令是summarize,可跟varlist。加detail选择项可显示额外的统计量,如skewess、kurtosis和各种百分比等。
inspect命令可显示所指定变量或全部变量的正负零值数量、唯一值数量、缺失值数量、一个小直方图等,可帮助用户快速熟悉数据,适用于前两种变量。
三、通过交叉表对数据进行检查
对分类变量的两两交叉,使用tab2。如果想知道某一组合频数,可使用count if varA==a&varB==b。
也可使用table命令,生成的表格更简洁。
四、通过分层对数据进行检查
如果两个变量组合是分类变量×连续变量,可使用summarize var连续 if var分类(==a)来对连续变量取值进行检查。若分类变量取值过多,可加bysort前缀。
tabstat命令可用来显示概要统计表格:tabstat var连续,by (var分类) statistic(n mean sd min max) missing
五、通过逻辑对数据进行检查
通过专业常识,保留或剔除(keep或drop)错误数据。通过查看频数(tab)、统计特征(summ)、对符合某条件的记录进行计数(count if)、列出查看变量值(list [varlist] [in] [,mean(var) sum(var)])进行检查。
六、数据更正
第一步是记录问题,推荐通过命令注释来记录。
第二步是更正数据,注意要用命令,而最好别直接通过数据编辑器修改。命令如replace varA= if varB==。
七、识别重复数据
Stata检查唯一识别符是否唯一的命令是isid[varlist][,missok]。如果存在不唯一,可先生成一个重复记录的报告,命令是duplicates report [varlist]。duplicates example [varlist] 只显示重复成一组的组内头条记录。如果想对重复的记录加标注,可用duplicates tag, generate(dup)命令。若删除重复记录,可使用duplicates drop[, force]。
八、对缺失值进行检查
Stata 默认缺失值为小数点“.”,还提供了26个字符作为扩展缺失值。由于问卷对缺失值使用一些数字表示,因此导入Stata后必须重新编码。
1、缺失值编码
Change missing values to numeric values:
mvencode varlist [if] [in], mv(#|mvc=# [\ mvc=#...] [\ else=#]) [override]
Change numeric values to missing values:
mvdecode varlist [if] [in], mv(numlist | numlist=mvc [\ numlist=mvc...])
2、缺失值函数:missing(varlist),如果变量存在缺失值,则返回值为1。如计算符合某条件且变量非缺失值的记录个数,可使用命令 count if varA & !missing(varB)
3、缺失值检查
如tab var if missing(var), missing。
要检查多个分类变量,可使用foreach循环语句。
Stata还有专门描述缺失值的命令misstable
Report counts of missing values:
misstable summarize [varlist] [if] [in] [, summarize_options]
Report pattern of missing values:
misstable patterns [varlist] [if] [in] [, patterns_options]
Present a tree view of the pattern of missing values:
misstable tree [varlist] [if] [in] [, tree_options]
List the nesting rules that describe the missing-value pattern:
misstable nested [varlist] [if] [in] [, nested_options]
数据清理耗时耗力,应制定计划重视细节,善于与经验丰富者交流,形成好的个人习惯,确保数据完整性。