调查数据录入技术(调查数据输入软件EpiData)成都信息工程学院统计学院刘全第一节、EpiData软件简介EpiData是丹麦的一个非盈利组织编写的用以数据输入的免费软件,要获得该软件,需要通过Internet网登录主页,根据相应的提示可下载。EpiData最早的版本Version1.01发布于2000年10月,目前运用得较多的是EpiDataversion3.0版,发布于2003年8月。下面简单介绍如何用EpiData3.0输入数据,并转换成SPSS能够分析的数据。简单、方便、功能强大、适用面广,非常适合于基层调查队和各类调查咨询公司使用。1、EpiData的用途EpiData是一个用于各种调查问卷数据输入及相关信息处理的计算机程序。EpiData既适合单一问卷的数据处理,也可应用于多问卷的数据处理工作。2、EpiData的使用方法它的基本使用方法是基于文本编辑窗口下,先书写一些简单的文本行,并使它自动转换成数据输入格式命令,然后再添加数据输入控制功能即可实现问卷输入界面的编程。3、EpiData的安装EpiData系统的安装可按照系统安装文件的提示很方便地进行。4、EpiData的系统组成EpiData系统有一个主文件和一个帮助文件组成。用户文件则有存在于同一目录下的几个主名相同的独立文件所组成。一、EpiData界面打开EpiData程序文件,可以见到其最基本的窗口(见下图)。从EpiData的基本窗口来看,数据输入主要有6个步骤。(1)制作调查表描述文件(DefineData);建立数据录入源程序(.qes),主要包括:确定变量、内容提示、确定录入格式等;(2)生成数据文件(MakeData);由数据描述文件自动生成数据文件,从而可使用本文件进行数据录入(.rec);(3)建立数据质量控制文件(Checks);编写检验程序,从而可以实现:自动审核、过程控制等功能;(4)数据输入(EnterData);利用上面自动生成的数据文件进行数据录入;(5)浏览数据及统计资料(Document);(6)输出及转换数据(ExportData)。可将录入的数据转换成各种软件(如SPSS、SAS、EXCEL等)能够使用的数据文件。制作调查表描述文件.qes自动生产数据记录文件.rec建立录入数据质量控制文件.chk录入数据到数据记录文件.rec中去浏览数据及统计对数据记录文件.rec中的数据输出及转换从EpiData的操作过程:6个步骤。第二节、基本操作说明第一步、制作调查表描述文件(1)新建一个调查表描述文件单击“文件”、“生成调查表文件(QES文件)”,则自动建立一个名字为“EpiData文件1”的空的数据描述文件(见下图),数据描述文件的扩展名为QES,QES是question的缩写。(2)把空白的“EpiData文件1”文件存储成想要的文件名(如民意调查.qes)方法是:单击“文件”、“另存为”命令,弹出一个对话框后,指定新的文件名(如民意调查.qes),然后选“保存”即可。(3)输入语句格式变量名[变量提示符]变量域[注释]或[变量提示符]{变量名}变量域[注释]其中,方括号项目为可选项。命令举例:name姓名______sex性别#(1)男(2)女year年龄##edu文化程度#(1)大学及以上(2)大专(3)高中(4)初中(5)小学及以下注意:第一必须有一个变量的名字,如id,v1等;第二要对变量进行描述,如id“个案号”,v1“您的性别”等;第三要用#号键定义输入的变量。变量有几个码,就打几个#键。(4)EpiData中变量的类型(5)预览输入变量的格式单击“REC文件”、“数据表预览”或用Ctrl+T键,则可预览所设计的数据表录入界面。“数据表预览”的最大优点是:在不必建立数据文件的情况下,提前对数据输入格式进行检查,可以输入数据,看是否有问题,一旦发现问题,可以及时修正。(6)输入完毕要存盘。方法:单击“文件”、“存盘”命令存盘,或用Ctrl+S键也一样可以存盘。案例1、“中国股民投资状况抽样调查”设计表2.2.2股民投资状况问卷调查表②程序如下:provin省市编码@####id调查表编号@###sex性别@#①男②女age年龄@##周岁result目前为止您做股票的结果是@#①赚钱②不赔不赚③赔钱method1依据方法:基本因素@#method2技术#method3跟风#method4凭感觉#risk您对投资股票风险有无充分认识@#①有②无invester您是专职还是业余投资者@#①专职②业余③对应的调查项目编码如下录入界面(7)自动建立数据记录文件待数据表录入格式文件符合要求后,应生成数据记录文件。数据记录文件的扩展名是rec(recoder的缩写),建立的方法如下。单击“生成REC文件”图标命令,弹出“根据QES文件生成REC文件”对话框,其中有两个选项,一个是“根据QES文件”(说明调查表描述文件的路径与名字),另一个是“生成REC文件”(说明数据文件的路径与名字),然后单击“确定”,即可自动生成数据文件(如“股票投资.REC”)。至此,问卷输入编程基本完成,打开自动生成的数据文件即可进行数据录入工作!***调查表项目编码{no}@#####姓名{name}@________性别{sex}@#1男2女出生年月日{birth}@yyyy/mm/dd年龄{age}@##1.婚姻状况{marriage}@#①未婚②在婚,与配偶共同生活了{year}@##年③离婚或分居④丧偶2.是否在业{occup}:@#⑴在业,就业性质是{occup1}:@#①国有经济单位②城镇集体经济类型单位③其他经济类型单位④城镇个体或私营业主⑤城镇个体或私营企业被雇佣者⑥离退休再就业人员⑦其它{other1}:@________________⑵不在业{occup2}:@#1)离退修,离退修前最长职业是{occup3}:@#①工人②专业技术③行政管理④商业服务⑤机关干部⑥军人或警察⑦其它{other2}:@________________2)失业人员3)家务劳动者4)丧失劳动力者5)待就业者6)其它{other3}:@________________案例2、“XX调查”设计录入界面第三节、数据核查文件EpiData软件的强大功能是在数据输入过程中可以限制输入范围、控制问项的输入顺序、进行计算、给出输入提示、维持上一记录的数据,还可为输入的数字给出文本描述等。数据核查文件(.chk)就是实现以上目的的专门文件。一、建立数据核查文件在关闭所有文件情况下,选择“建立CHK文件”图标命令,打开前已建立的数据文件(如“股票投资.rec”),从而将为所选择的数据文件建立数据核查控制文件。二、控制界面说明:在其话框中,可以对变量标签、范围、是否跳答、数据标签等进行设定。对话框中某些选择项的意义如下:Range/legal——规定变量值的范围(如10-80,99)Jumps——跳答如输入1S2,则如果输入1则跳到变量S2Mustenter——是否必须输入某个值(yes、no)Repeat——一般选择NO,若选“YES”则对上次输入的值进行复制(即内定值的设置)。Valuelabel——添加数值标签(注:数据录入时可以用F9或+查看合法值。)如选Valuelabel,则可对其变量设置标识。Jumps——跳转举例:如下调查表中,在输入“1婚姻状况”栏目,可输入如下内容:1education,2education,4education则可实现有关跳转操作。三、常用控制命令1、变量录入后执行命令AFTERENTRY设置一个命令块,其中的命令是在当前变量录入完毕后/或光标移到另一个变量时执行。AFTERENTRY是一个块命令,必须以END结束。格式如下:AFTERENTRY命令命令┄┄┄┄END2、变量录入前执行命令BEFOREENTRY设置一个命令块,其中的命令是在当前变量激活,但尚未录入时执行。BEFOREENTRY是一个命令块,必须以END结束。格式如下:BEFOREENTRY命令命令┄┄┄┄END3、新记录开始时的执行命令(常用于赋初值)4、录入限制及提示命令5、移动光标命令6、条件命令条件命令的结构是:IF逻辑表达式THEN如果逻辑表达式为真执行的命令ENDIF或者是:IF逻辑表达式THEN如果逻辑表达式为真执行的命令ELSE如果逻辑表达式不真执行的命令ENDIF例如1:IFfield1othenGOTOfield10ENDIF例如2:IF(Cos(field1)*Sin(field1)0.3AND(field20)THENIFfield2field3THENHELP"Somethingiswrong."GOTOENDIFELSEField4=Tan(field1)GOTOfield23ENDIF例如3:IFfield10=.THENField11=.Field12=0Date1=”12/03/2001”ENDIF7、赋值命令8、函数利用出生日期变量数值计算个体年龄命令。LETAGE=ROUND((TODAY-D1)/365.25)其中TODAY和ROUND()分别是日期和取整函数,D1为出生日期变量。9、终止命令四、核查文件应用举例如本例,对股民的“性别”进行控制。操作:1、“建立CHK文件”,则弹出对话框,指定相应的REC文件(如“股民投资。REC”)2、光标制定在“性别”位置,选择“Valuelabel”出的“+”,输入相应标记,选“确定并关闭”即可。核查文件其它例子VAR1;指定对VAR1的检验RANGE15;指定var1的输入范围1~5MUSTENTER;要求本变量必须输入JUMPS1VAR4;若输入的是1,则转VAR4变量域去输入2VAR5;若输入的是2,则转VAR5变量域去输入3VAR10;若输入的是3,则转VAR10变量域去输入END;JUMPS结束BEFOREENTRY;在对VAR1输入前,执行VAR1=F1+2VAR1=F1+2ENDAFTERENTRYIF(VAR1=2)AND(F2=1)THENHELP“如果F2有值1,则VAR1不能有值2。请检验您的输入!GOTOVAR1ENDIFENDEND;整体检验程序以END结束注:本程序在CHK程序中产生。要求在质量控制编程界面下,光标对应VAR1,然后选择“编辑”,则可输入如右质量控制程序。又例:BEFOREENTRYIFk1=.THEN&如果变量K1的值缺失,则显示TYPEk1值缺失!HIDEK2-K10&隐含变量K2-K10,UNHIDEK2可恢复K2GOTOname&转name变量处输入ENDIFEND案例1:“XX调查表”中“年龄”的处理技术“XX调查表”中“婚姻状况”的处理技术“XX调查表”中“是否在业”的处理技术“XX调查表”中“就业性质”的处理技术“XX调查表”中“其它”的处理技术“XX调查表”中“不在业”的处理技术“XX调查表”中“不在业,其它”的处理技术案例2:变量设计问卷描述文件程序设计*-------------------------------------------龙泉驿区机关事业单位非在编后勤人员统计表id*-------注意:您正在录入第idnum张表!*类别1、总数2、本区城镇户籍人数3、本区农村户籍人数4、区外城镇户籍人数5、区外农村户籍人数*---------------------------------------------------------------------------------------------------------------------------------total1合计总数#####total2本区城镇户#####total3本区农村户#####total4区外城镇户#####total5区外农村户#####mana