全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件
9564 3
2015-11-18
悬赏 50 个论坛币 未解决
农经专业常常到外地做问卷调研。现在我拿到了excel版调研数据,需要先进行data cleaning,请问一般如何进行清理?比如分几个步骤,常用什么命令处理哪些方面问题等。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-11-19 13:41:24
问卷一般SPSS比较方便吧 看看数据有没有缺失的 可以做下信度分析
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-11-20 09:47:18
楼主也可以试一下stata,特别是tab命令很有用,马上可以让你看出变量有哪些是录错了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-12-20 21:30:58
一、录入
对纸质调研问卷的录入,规范的录入方式应该是对数据独立双次录入,使用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]

数据清理耗时耗力,应制定计划重视细节,善于与经验丰富者交流,形成好的个人习惯,确保数据完整性。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群