美文网首页stata
如何使用stata清洗问卷数据

如何使用stata清洗问卷数据

作者: 寒见 | 来源:发表于2018-03-25 17:26 被阅读1195次

    使用公司内部问卷系统来发送问卷,回收问卷后会有诸多错漏。因此问卷回收之后,首先要进行数据清洗,清洗完毕后才可进行分析。问卷清洗的工具有多种,如Excel、SPSS、stata等。我常用的清洗工具是stata,它既简单又快捷。本文我将总结使用stata清洗问卷数据的几个常用的简单步骤,供大家学习参考。

    第一步:剔除问卷回答时长过短的问卷

    一份问卷的题目长度一般在10-25道题间,一般以多选题为主。一个用户完成这样一份问卷,至少需要一分钟。为了剔除那些不认真填答的用户,有必要在问卷发出时就设置答卷时长统计。假如答卷时长的字段名称为“time”,那么在回收问卷后,可以在stata中用以下命令剔除这些用户:drop if time<60

    第二步:删除内部员工数据

    我们在发布问卷时,为了测试问卷是否能正常送达、是否能正常填答,通常会把几名内部人员的手机号/后台ID也放进问卷调研样本中。所以在回收问卷时,有几份问卷是内部人员填答的,是需要剔除的。假如此次给内部人员123、234、345都发放了问卷,可以在stata中用以下命令剔除这三个内部用户:drop if id=123 | id=234 | id=345

    第三步:对年龄和职业进行交叉剔除

    许多调研为了统计用户的人口特征,都会在问卷最后附上人口学相关的单选题(如年龄、职业、收入)。然而,有部分用户填答问卷时不够认真,会盲选答案,为了保证问卷结果的可信度,可以考虑是否有必要把这些用户剔除掉。

    下面我举一个例子来说明:

    e2为年龄题:

    e4为职业题:

    按照常理,我们都知道人们一般在60岁后退休,50岁以下退休的人极为少见。当样本量足够的情况下,可以考虑把选择了50岁以下退休的用户数据剔除,即是把年龄选了50岁以下且e4的职业选了“12退休”的用户剔除,剔除命令如下:

    drop if e2==1 & e4==12

    drop if e2==2 & e4==12

    drop if e2==3 & e4==12

    drop if e2==4 & e4==12

    drop if e2==5 & e4==12

    drop if e2==6 & e4==12

    drop if e2==6 & e4==11

    drop if e2==7 & e4==11

    第四步:根据排他项逻辑补充数据

    排他项是多选题中常见的选项,如下题:

    第9个选项是明显的排他项,当选择了9时,其他选项都会变为不可选择的状态。一些问卷系统在导出选择了排他项的数据时,无法自动补充其他选项的数据,导出后会显示如下:

    由图可见,除了f9补充了数字1,其余选项都是空白,这种数据是无法统计的,必须把f1-f8的数据补充为0才可以统计。补充命令如下:replace f1=0 if f9==1。(以f1为例)

    补充完毕后,数据会显示如下:

    第五步:处理多选题的其他项

    在多选题中出现其他项时,默认会让用户填写文本内容。当用户填写了其他项的文本内容时,数据导出后会直接显示文本内容。要知道,文本内容是无法直接统计的,统计工具只能统计数字。

    如下图,g9是一个其他项。

    当用户选择了g9,导出的问卷数据可能会显示如下:

    g9的数据是无法统计的,因此需要根据g9来新建一个变量g9_other来计算。命令如下:

    gen g9_other=.

    replace g9_other=1 if g9!="0"&g9!=.

    replace g9_other=0 if g9=="0"

    label var g9_other "其它项(0/1)"

    执行命令后,数据显示如下:

    第六步:定义权重

    在实际的问卷统计过程中,时常会用到加权的概念。所谓加权,就是当样本的构成跟总体的构成不一致时,可能会导致回收的问卷结果无法反应总体的特征,这时候就需要使用加权,让样本乘以一个加权系数,使得样本构成与总体构成一致(由于统计要求不同,对加权系数的计算也会不同,这里对加权系数就不展开论述了)。

    例如,h题为性别题,选项1为男性,选项2为女性。男性的加权系数为1.6,女性的加权系数0.4,这时需要给数据新增一个加权变量,命令如下:

    gen weight=.

    replace weight=1.6 if h==1

    replace weight=0.4 if h==2

    执行命令完毕后就会看到原始数据多了一列名为“weight”变量的数据。

    相关文章

      网友评论

        本文标题:如何使用stata清洗问卷数据

        本文链接:https://www.haomeiwen.com/subject/hqxmuxtx.html