的04/05/1999。
此外在数据录入过程中,用户不必录入所有的10个数,如果在欧洲型字符字段中录入040599 ,则计算机自动转变为04/05/1999。如果录入的两位数的年份在50到99之间的话,则被默认为20世纪,前面加“19”。如果年份值在00和49.之间的话则被默认为21世纪,
4
前面加“20”。如果只录入0405的话,则计算机系统年份自动加入到字段中。
在录入完成后计算机会对录入的日期进行核对,以保证录入的日期值是合法的日期值。在EpiData中只认四位数年份。
今天型日期字段
今天型字段内自动的填入当前计算机的系统日期值。该类型的字段不能编辑,光标也不能移入。
注意: 建议在EpiData中今天型日期字段使用欧洲的日期格式(dmy)。这些字段类型和EpiInfo不兼容。什么意思啊
Soundex型变量 Soundex 型变量可以输入任何字符,但只有录入的最后一个词用来创建Soundex码。在需要匿名时需要使用Soundex型变量。比如参与调查人的姓名需要匿名,则要使用Soundex型变量。Soundex型变量编码总是用A-999格式,其中包括一个大写字母,一个连字符和一个3位数值。
Soundex编码的按以下规定产生:
1. 词的第一个字母总是保存。该词的其他字母按以下规则压缩成一个三位数: A E I O U Y H W 不编码
B F P V 编码为1
C G J K Q S X Z 编码为2
D T 编码为3
L 编码为4
M N 编码为5
R 编码为6
2. 其他字母的编码按其出现顺序排列,比如:
HOLMES = H-452
ADOMOMI = A-355
3. 编码总是使用3位数,3位数编码以后的字母忽略不记:
VONDERLEHR = V-536
4. 当3位数排未排满时用0补足:
BALL = B-400
SHAW = S-000
5. 两个重复字母编码时按1个对待:
BALL = B-400
6. 连续属于同一编码组的字母不编码:
JACKSON = J-250
7. 连字符不编码:
KING-SMITH = KINGSMITH = K-525 隔位符 @
在根据.QES文件创建.REC文件时,字段的位置由.QES文件中问题的位置决定,问题在数据录入框的的左侧。但这会引起字段不能对齐,隔位符可以应用在.QES文件中来解决这一问题。请注意这个隔位符在EpiInfo系列软件中不存在,所以它会被认为是其他字符。隔位符除了影响字段的位置外对.REC 文件毫无影响。
例如:
v1@####
v2@####
5
.QES文件中的这两个语句可以产生两个4位数的字段。字段名称 ("v1" 和 "v2")显示在屏幕的左边。数据录入框和字段名称间的距离由计算机确定,默认值为40像素。这些可以在“文件”菜单的“选择项”下进行设置。
变量名称
数据文件中变量名称根据.QES 文件中的内容自动生成。EpiData中使用两种变量命名
:
1) 问题(提示符)中的第一个词作为变量名。
2) 根据EpiInfo 软件命名变量名的规则来自动命名变量名。
变量名命名的规则由“文件”菜单的“选项”的“生成数据文件”选项卡来决定。
注意:EpiData生成的变量名最大长度为8位。EpiInfo v6.xx的变量名最大长度位10位。一般来说这不会引起问题,因为EpiData可以读入10位变量。但是当使用EpiInfo的修改数据文件功能时可能出现问题。.
自动生成变量名
如果设定的选项为自动生成变量名,EpiData自动的根据问题来产生变量名(例如左侧的文本作为变量名)。变量名是一个由A到Z字母开头的8个字母构成。变量名是从问题(提示符)开始的字母开始的。
下面是生成变量名的一些规则:
1) 大括号中的字符被作为变量名。比如一个提示符为{my} first {field}?则变量名为MYFIELD。大括号提供了一个定义变量名的有效方法。
2) 常用词会被跳过,比如that,he,and等。如提示符为did you do?则变量名为YOUDO。 3) 如果一个字段没有提示符,则计算机自动产生一个和前一个变量名相同的变量名,但是后面加一个数字。比如前一个变量的变量名为MYFIELD,则该变量名为MYFIELD1。如果该变量前无变量,则变量名自动为FIELD1。对中文提示符来说,EpiDate认为无提示符,命名按该规则执行。比如,第一个字段的变量名自动命名为FIELD1,依次变量名为FIELD2, FIELD3, FIELD4…
4) 如果问题(提示符)以数字开头,则字母N插入到数字前作为变量名中的第一个字母。 例如: 1、出生日期的提示符产生的变量名为N1。
5) 有关变量名的设置在文件/选择项/数据表显示下设置。
举例:
问题(提示符) 产生的变量名 运用的规则
State your {nation}ality NATION 规则1 Al{l} you l{i}ke is i{ce}cream LICE 规则 1 What is your name ISYOURNA 规则 2 3. 年龄 N3 规则3
把第一个词作为变量名
如果在文件/选择项/创建数据表中设置为将第一个词作为变量名,则变量名为左侧开始的第一个词。如果第一个词超过8位,则用前8位作为变量名。
举例:
.QES 文件中的一行:“Enter age of patient ###”会产生变量名“Enter”,在这种功能可能比使用自动生成变量名要好一些。
6
如果变量名已经被用了,则下一个变量名上加上一个数字。比如.QES文件中的两行: v1 Enter age of patient ###
v1 Height of patient ###
会产生两个变量,第一行产生的变量名为“v1”第二个变量名为“v2”,因为变量名必须唯一。
在使用将第一个词作为变量名时,最好使提示符能代表该问题的实际意义。一种简易的检查采用何种变量命名方法的操作是用“工具”菜单下的“改变变量名”查看变量名,以确定采用的变量命名规则。变量名的大小写在由文件/选择项/“创建数据文件”下进行设置。
变量标签
变量标签的作用是用来描述变量名的意义。在EpiData中,变量标签是根据.QES文件中的问题(提示符)自动产生的。 如果选择了将第一个词作为变量名,则这个词不在包括在变量标签中。中文问题(提示符)虽然不能不能作为变量名,但是可以自动的作为变量标签。
举例:
.QES文件中的“v1 Age of patient ###”将产生变量名为“v1”,而变量标签为“Age of patient”。 如果设置自动产生变量名作为变量名命名规则,则变量名为“v1ageofp”而变量标签为“v1 Age of patient”。
更改变量名
通过更改变量名可以改变计算机自动生成的变量名。“更改变量名”功能可以在“工具”菜单下找到。选择需要更改变量名的数据文件。一个当前数据中有关所有变量情况的列表就会出现。其中第一列为原来的变量名,第二列为变量标签,第三列为你所希望更改的变量名。改变量名时将光标放到第三列你所希望更改变量名的变量对应的行上,然后键入新的变量名。变量名最长为8位。必须以字母开头,而且是从A到Z及从0到9的几个字符。在第三列中不需要改名的字段保持空格即可。点击保存以保留已更改的变量名。此后原始的文件自动的保存为文件名为:原文件名.old.rec.
如果同时有核对文件,则核对文件中的变量名也相应的改变,但是变量的一些注释,必须手工完成,比如GOTO命令后的变量名、COMMENT LEGAL USE后的变量名等。什么意思,
创建数据文件
创建数据文件(.REC)的方式有:
1.选择“数据输入/输出”(在那里,)选项下的“根据QES文件创建RES文件” 2.在工作程序工具条上选择“产生数据文件”
在创建数据文件前,不必要打开.QES文件。如果没有打开的.QES文件,则一个让用户选择文件的对话框出现。 在默认状态下数据文件的名称和.QES文件的名称相同,但是扩展名从.QES变为.REC。建议使用相同的文件名,但不是必须的。
在数据文件产生过程中会出现一个对话框,让用户输入对数据文件的描述,最多50个字符。这个简短的描述被称为数据库标签。数据库标签可以在数据库描述文件中出现,而且
7
当转出为Stata 文件时会作为文件的一部分保存。你会发现EpiInfo中的一些命令不能读取带标签的数据。建议用户在验证一下数据标签是否引起错误,如果引起错误则不要指定数据标签。
在数据文件生成前,如果QES文件已经在编辑窗口下打开,则可以通过选择“数据文件”菜单下的“数据表预览”选项进行预览。
注意:如果新建文件的名称和已有文件名称相同,则已有文件会被删除数据就会丢失。如果要保证在不丢失数据的条件下增加变量或改变变量类型,可以换一个文件名称或使用“根据修改的调查表更新数据文件”功能。(怎样用,,ldcques)
修改数据文件
一个已有数据的文件可以在不丢失数据的情况下修改。已经录入的数据将会以新变量格式拷贝到相同文件名称的文件中。用户可以增加字段、改变字段类型、删除字段。在主菜单的“工具”下的“根据修改的调查表更新数据文件”功能来完成操作。
按以下操作修改数据文件:
1.打开.QES文件来确定需要更改的数据文件。如果没有.QES文件的话,使用“根据数据文件创建调查表文件”功能生成.QES文件。
2.编辑.QES文件,比如增加新变量、删除变量、改变变量类型等。
3.保存.QES文件并关闭。
4.选择工具菜单下的“根据数据文件创建调查表文件”。
5.选择用来修改数据文件的.QES文件和需要修改的数据文件。
注意:如果用户删除变量或改变变量名称,将会导致数据信息丢失。这时应该仔细检查新生成的数据文件。如果发现错误,原始数据可以恢复。原始文件保存在愿文件夹下名称为文件名.OLD.REC的文件中。
EpiData支持两种生成变量名的方式,可见“变量名”一节。可以在文件菜单下的选择项进行设置。更改变量名可能会导致数据丢失。
注意:EpiInfo v6.xx 可以用10位的变量名,而EpiData只使用8个字符。所以在EpiData中修改变量名超过8个字符的数据文件时可能会导致错误。这时应该使用EpiInfo v6.xx。 应用数据文件修改功能时计算机会检查命名方式,如果和用户设置不同的话计算机会给出提示。建议用户使用与原始文件相同的变量名命名方式。原始数据文件的变量类型可以通过修改.QES文件进行修改。所有变量类型都可以转变为字符型变量或大写型字符变量。数值型变量可以转变为长度更长的数值变量。如果小数点位数减少或数字位数减少计算机都会给出提示。变量类型改变的规则如下:
整型 浮点型、字符型、大写字符型
浮点型 字符型、大写字符型
ID型 整型、浮点型、字符型、大写字符型
字符型 大写字符型
大写字符型 字符型
Soundex型 字符型、大写字符型
所有日期型 字符型、大写字符型
8
数据文件的纵向连接和横向连接
纵向连接
纵向连接(Append)用来连接数据结构相同或相似的两个数据文件。 在“数据输入/输出”菜单下选择“纵向/横向连接”选项选择需要连接的两个文件后点击“确认按钮”。这时出现的对话框会显示要连接的数据文件的一般情况,选择纵向连接后,键入连接后新文件的路径及名称。在操作过程中两个文件不发生任何改变。纵向连接有两种不同方式: 1) 新生成的数据文件和第一个原始文件(文件A)的结构相同。第二个数据文件中只有和第一个文件中相同的变量才追加到第一个文件上。
2) 新生成文件中包含第一个文件和第二个文件中所有的变量。
注意:第一个数据文件作为主数据文件,如果第一个文件和第二个文件的变量类型不同新文件中变量类型以第一个文件为准。如果第一个文件和第二个文件都有核对文件,则计算机会自动把两个核对文件合成一个核对文件。用户应根据需要对新核对文件进行修改。特别要注意labels、jumps、goto语句和if ... then .... endif语句。
在纵向连接完成后计算机会显示一个有关文件连接的总结。
横向连接
横向连接(Merge)可以使两个数据库结构不同的两个文件横向连接,但前提条件是这两个文件中必须有相同的标示变量或关键变量。比如一个文件中包含调查对象的家庭情况,而另一个文件中包含调查对象的实验室检查数据,但两个文件中都有一个相同变量来区别不同的调查对象,比如个人编号等。这时就可以把两个文件横向连接起来。 在“数据输入/输出”菜单下选择“纵向/横向连接”选项选择需要连接的两个文件后点击“确认按钮”。这时出现的对话框会显示要连接的数据文件的一般情况,选择横向连接后,键入连接后新文件的路径及名称。点击“确认”。两个原始文件不会有任何修改。
横向连接需要用户指定一个或多个标示变量来保证同一个调查对象的数据连接起来。最多可以指定3个标示变量。标示变量不必在核对文件中指定为KEY 或KEY UNIQUE,但是要必须保证两个文件中都存在。当选择横向连接后,计算机会把两个文件中的变量显示出来,如果没有共同变量,横向连接不会实现。另外,标示变量在数据文件中不能有重复。 文件的横向连接主要有两种方式:
1) 只有两个文件中都存在的记录连接起来。.
2) 两个文件中的数据都连接起来,这会导致很多变量的值是缺失值,因为两个数据文件中不匹配的记录不能连接。为了保证连接成功,两个文件中必须有相同字段。 注意:第一个数据文件作为主数据文件,如果第一个文件和第二个文件的变量类型不同新文件中变量类型以第一个文件为准。如果第一个文件和第二个文件都有核对文件,则计算机会自动把两个核对文件合成一个核对文件。用户应根据需要对新核对文件进行修改。特别要注意labels、jumps、goto语句和if ... then .... endif语句。
在纵向连接完成后计算机会显示一个有关文件连接的总结。
记录查找
如果知道记录号,用户可以用菜单中的“记录”下的“记录查找”功能直接查找记录,用户也何以直接按[Ctrl] + [G]后查找记录。如果不知道记录号,用户可以按[Ctrl] + [F],然后在出现的对话框中填入查找条件来查找记录。计算机总是把光标所在的字段默认为查找字
9
段,但是用户可以在下拉条下选择任何用来进行查找的字段,其中包括光标不能移入的字段,比如自动编码字段。
查找功能可以最多根据三个变量的值来查找。查找功能包括精确查找和模糊查找,查找方法可以在计算机中设置,比如是否包括打删除标记的记录等。按[F3]键或查找来按相同的查找条件进行查找。查找也可以按[Esc]键或按查找过程窗口的“取消”键来停止。如果查找缺失值则键入(.)作为查找值。用关键变量(核对文件中加KEY)来查找会使查找速度更快,但是要保证用来查找的变量都是关键变量。如果用户希望用某些变量进行查找,则可以考虑将这些变量设置为关键变量。按查找选项窗口中“重新设置”按钮,清除所有查找条件,然后重新执行查找。
数据双录入和核对
为了保证获得高质量的数据,让两个人分别对同一批问卷录入两遍是一个好方法。数据双录入完成后,可以用“数据管理”菜单下的“双录入核对”选项进行数据比较核对。在准备数据双录入过程中,可能需要复制数据库结构,该功能可以通过“工具”菜单的“拷贝数据库结构”选项完成,同时可以进行数据库结构拷贝选项设置,比如不包括字符型变量,因为字符型变量很少进行双录入。在选择完需要进行双录入核对的文件后,会出现一个对话框让用户对双录入核对进行设置。具体的操作包括:
选则关键字段
为了进行数据比较,必须至少指定一个关键字段。关键字段的作用是使两次录入的数据在比较时进行匹配。在下拉框中供选择的关键字段都是两个文件中同时存在的字段。在核对文件中指定为KEY的字段都有一个标记,这个标记会显示出来,但是被选定的关键字段在核对文件中可以没加KEY。如果不指定关键字段,则第一个文件和第二个文件按记录号进行比较,比如第一个文件中的第一条记录和第二个文件中的第一条记录比较。但是这种比较方式只有在问卷录入顺序完全相同的情况下才有意义。
选则项:
不考虑已删除的记录
在比较过程中计算机忽略已经有删除标记的记录
不考虑字符型字段
在比较过程中字符型和大写字符型字段不进行比较
不考虑字符型字段中的大小写
比如计算机认为 "Smith"和"sMiTh"相等
报告字段类型的区别
计算机会报告两个文件中变量名相同而变量类型不同的情况
不考虑第二个文件中的缺失记录
如果选择该设置,则计算机不给出第一个数据文件中有而第二个数据文件中没有的有关记录的信息。该设置非常有用,比如第二次录入只是在已经录入的问卷中选择一部分进行第二次录入时。在这种情况下要把包括全部数据的文件作为第一个文件。
按用户需要进行设置后点击“确定”按钮,两个文件就会进行比较,计算机给出比较结果。
常用核对命令
AFTER ENTRY
该核对命令用来指定在数据被录入字段后(或光标离开字段后)才执行的命令或程序。AFTER ENTRY指定一个命令块,而且必须以END来结尾。尽管没有指定AFTER ENTRY,
10
但计算机默认状态为所有命令都是在数据被录入字段后(或光标离开字段后)才执行。 举例:
AFTER ENTRY
...
END
AFTER FILE
指定需要在数据文件被关闭时才执行的命令。参见:BEFORE FILE. 举例:
AFTER FILE
HELP "Remember to make a backup of the data file!" TYPE=WARNING
END
AFTER RECORD
指定一条记录完全录入或修改完成后才执行的命令。使用AFTER RECORD 可以来检查数据录入的正确性。如果在AFTER RECORD命令块后面还有GOTO命令,则当前记录不会保存。下面的例子是要求录入员在数据录入把个人编码作为第一个字段,在记录录完时把个人编码作为最后一个字段以另一个变量重新录入一遍,以进行控制。如果两个变量的值不相同则给出提示,记录不保存,而且光标移入第一个字段。
举例:
AFTER RECORD
IF (ID1<>ID2) THEN
HELP "ID1=@ID1 and ID2=@ID2\n\nPlease check the data" TYPE=WARNING
GOTO ID1
EXIT
ENDIF
IF (ID1 = .) OR (ID2 = .) THEN
HELP "ID-number must be entered in ID1 and ID2" TYPE=ERROR
IF ID1 = . THEN
GOTO ID1
ELSE
GOTO ID2
ENDIF
ENDIF
END
AUTOJUMP
使光标无条件的跳转到另一个字段。跳转在光标离开该字段时执行。可参见JUMPS. 在该命令后可以加END或WRITE命令。AUTOJUMP END 可以使光标直接跳到最后一个字段。而AUTOJUMP WRITE可以直接调出是否存盘的对话框。 点击“是”则继续录入下一条记录。AUTOJUMP SKIPNEXTFIELD将光标移到下一个字段。
举例:
AUTOJUMP [name of field to jump to] AUTOJUMP END
11
AUTOJUMP WRITE
AUTOSAVE
当修改记录完成后计算机会询问是否存盘,从而让用户选择是否保存修改的记录。该过程可以通过在核对文件中加入AUTOSAVE命令来代替。该命令也可以作为程序的参数来使用。
注意:在使用AUTOSAVE后文件中的当前记录在计算机不给任何警示的情况下被覆盖掉。 举例:
BEFORE FILE
AUTOSAVE
END
BEFORE ENTRY
该命令指定在光标移入前(数据被录入前)所执行的的命令。BEFORE ENTRY指定一个命令块,而且必须以END来结尾。如果核对命令没有指定AFTER ENTRY或BEFORE ENTRY,则计算机默认为AFTER ENTRY。
举例:
BEFORE ENTRY
...
END
BEFORE FILE
指定在数据文件打开时(还没有录入数据)执行的命令。参见AFTER FILE.。BEFORE FILE经常在需要在数据文件中定义临时变量时使用。
举例:
BEFORE FILE
HELP "Welcome to my data file"
DEFINE varAge ###
DEFINE varRefDate
END
BEFORE RECORD
指定数据录入前(没有录入数据)所执行的命令。参见AFTER RECORD 举例:
BEFORE RECORD
varAge = 33
END
CLEAR
清除指定变量的内容。如果该命令后面没有指定变量,则包含该核对命令的变量中内容被清除。该命令只清除当前记录中指定变量中的内容,而不是清除所有记录该变量的内容。 举例:
12
CLEAR
CLEAR field5
COMMENTS (*)
注释语句必须以*开头。核对文件中以*开头的语句被认为是注释语句,不于执行。
COMMENT LEGAL
该命令的作用和LEGAL命令的作用相同,用来指定变量中能够录入的合法值。但是COMMENT LEGAL命令提供了一些选项,使用户在数据录入过程中可以通过按[F9]或数字键盘上的[+]来查看合法值列表,以及每个合法值的具体意义。
COMMENT LEGAL有四种不同的形式:
1) 命令块形式 COMMENT LEGAL
1 Denmark
2 USA
3 UK
4 Other
END
2) 使用其他变量的变量值标签 COMMENT LEGAL USE 变量名称 3) 使用在LABELBLOCK命令中,,指定的变量值标签 COMMENT LEGAL USE 标签名称
4) 使用包含变量值和标签的数据文件 COMMENT LEGAL 数据文件名[.rec]
注意在使用其他变量或文件中指定的变量值标签时必须使用USE。
在指定数据文件时,扩展名(.REC)不是必须的。但是该数据文件中必须有两个字段指定了KEY或KEY UNIQUE。其中有KEY 1或KEY UNIQUE 1的字段为数值字段;指定为KEY 2的字段是标签字段。
COMMENT LEGAL也可以用在IF..THEN结构中。 该功能使得一个变量值标签依赖于另一个变量的值时特别有用。用户可以参考下面的例子或HIERARTEST.REC、HIERARTEST.CHK文件中命令。 也可参见下面的TYPE COMMENT 命令。如果选项 SHOW加在COMMENT LEGAL命令中,则可以输入的变量值在数据录入过程中显示出来。 举例:
COMMENT LEGAL
1 Male
2 Female
END
COMMENT LEGAL USE [field name] SHOW COMMENT LEGAL USE [labelname]
用在IF..THEN结构中的例子:
V1 *User selects a country*
COMMENT LEGAL
1 USA
2 CANADA
END
END
13
V2 *User selects a state*
IF V1=1 THEN
COMMENT LEGAL
1 Alabama
2 "New York"
3 Nevada
4 Oklahoma
5 .....
END
ENDIF
IF V1=2 THEN
COMMENT LEGAL
1 "Nova Scotia"
2 Quebec
3 ....
END
ENDIF
END
使用数据文件时的例子:
NAMELOOKUP.REC 是有两个字段的一个数据文件:ID (整型)和NAME (字符型字段)。在核对文件中ID被定义为KEY UNIQUE 1,NAME被定义为KEY 2。PATIENTDATA.REC 是根据下面的.QES文件生成:
ID (病人编号) #####
HEIGHT 身高 ###
WEIGHT 体重 ###
核对文件PERSONDATA.CHK(PERSONDATA.REC)中包括:
ID
COMMENT LEGAL NameLookup
TYPE COMMENT
END
当在数据录入(PATIENTDATA.REC)过程中,只有NAMELOOKUP.REC文件中包括的ID号才能作为合法值录入。当光标离开ID字段时病人的姓名会出现在字段边上。
CONFIRM
当一个字段录满后光标可以自动移入下一个字段。该功能可以在核对文件中使用CONFIRM命令完成。当使用CONFIRM命令后,用户按回车键后光标自动移入下一个字段。
CONFIRMFIELD
该命令与CONFIRM相同,但CONFIRM对所有变量起作用,而CONFIRMFIELD只对包含它的变量起作用。
DEFINE
可以定义新变量和临时变量。这些变量可以用来存放计算中的中间结果,以及把一个记录中的值赋于另一个记录。DEFINE命令有CUMULATIVE和GLOBAL两个选项。在新记
14
录录入前,Cumulative 变量保留上一条记录的变量值并将新变量值进行累加。如果不用CUMULATIVE则变量值在数据录入之前为空,新录入的数值作为变量值。GLOBAL变量不重新赋值,所以可以用来在关联文件间传递数据。参见RELATE。用DEFINE命令定义的变量的变量名最多16个字符。临时变量不保存在数据文件中。
举例:
DEFINE MyTempVar #### CUMULATIVE DEFINE varSurname DEFINE tempDate