数据的合并与转换ppt课件.ppt
《数据的合并与转换ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据的合并与转换ppt课件.ppt(88页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章 数据的分组、合并与转换数据的分组、合并与转换本章主要内容5.1数据合并的类型和原理5.2纵向合并(append)增加样本量5.3横向合并(merge)增加变量5.4数据的转换5.5数据的分组5.6数据的集合5.1数据合并的类型和原理 内容相似的独立调查:城乡;性别 不同层次、不同年份的调查 母亲的数据与子女的数据 低层数据的高层特征为什么需要合并数据 一个内容相同或类似的调查分别在城、乡进行,或在男性和女性间进行。数据也在不同地方由不同人员录入。若需比较城乡之间、性别之间在某些方面的差异,最好的方法之一就是将城乡样本合二为一,将男性和女性样本合二为一 个体居住的社会环境可能影响他们的日
2、常生活和行为。越来越多的社会调查除了关注个体本身的差异外,也开始关注他们的生存环境,包括家庭和社区背景等。家庭寓于社区中,个人寓于家庭中。数据分析时,需要将分别录入的数据合并成包括不同层次、不同内容的数据数据合并的类型 增加观察值增加观察值(即样本量):纵向合并纵向合并 若有一个城市儿童数据和一个农村儿童数据,二者的内容基本相同 可进行独立分析或整合后作为整体样本的次样本分析 增加变量增加变量:横向合并横向合并 若有一个社区数据和一个家庭数据,家庭寓于社区中,若想将二者合二为一,从而使家庭数据包含社区的基本特征,则需将数据进行横向合并数据合并的窗口路径数据合并的几个主要概念主要数据(主要数据(
3、Master dataset):指当前在Stata界面的数据,又称当前数据(current dataset)、窗口数据或记忆空间数据使用数据(使用数据(using dataset) :指当前不在Stata界面、但行将被合并到当前数据的数据,也称辅助数据。该名词主要用于数据的合并关键变量(关键变量(Key variables),也称标识符(identifiers)或合并变量(match variables):横向合并的专有词汇,用来合并两个数据的变量。该变量必须同时存在于主要数据和使用数据中,且在使用前必须排序。主要变量可以是一个,也可以是两个或多个扩大记忆空间的容量由于合并数据将增加当前数据的
4、观察值或(和)变量,扩大数据的占用空间,故在进行合并前,首先要确定是否有足够的记忆空间允许数据的合并否则,可能遇到错误提示Caution! Merging and appending both add data to the data already in Statas memory. It is easy to ask Stata to put more data in memory than youve allowed room for. Add together the sizes of all the files you want to merge or append before y
5、ou combine them, clear and set memory if necessary, then combine the files. If not, you may get the message No room to add more variables/observations.5.2纵向合并(append)增加样本量原理 将保存在某个盘符中的stata数据文件的内容追加到当前数据窗口的后面,生成一个新数据 在绝大部分的纵向合并中,用于两个数据库的格式和变量基本类似,但观察值却未必一样 观察值可以是独立的,来自于同一调查的不同样本,也可能不是完全独立的,来自于不同调查时间
6、的相同样本 合并后,数据的变量基本不变,但观测个案增加了 该方法可以将两个或多个数据文件进行上下对接,简单明了,不易出错方法窗口路径DataCombine datasetsAppend datasets(纵向合并数据的对话框)命令. append using 使用数据的路径和名称 :纵向合并数据的基本命令:使用数据的路径和名称(目前记忆空间的数据是主要 数据) 也可以只读入使用数据中的部分变量. append using 使用数据的路径和名称, keep变量名 :在合并使用数据时,只保留keep后面指定的变量几点说明(I) 使用纵向合并的场合 纵向追踪调查 内容相同的调查在不同地区由不同人群完
7、成 几点说明: 无需排序数据,因为无需按照任何标识符(identifier)进行各并,而只是将两个数据上下对接到一起 进行纵向合并时,Stata的log文件往往提示说,标签已经定义了。可以忽略 几点说明(II) 不同数据中,内容相同的变量需要有同样的名称。故在合并以前,分别描述数据: 若两个文件的变量相同、名称也相同,合并后,新文件的变量数应该与合并前任何一个数据的变量数目一致 若每个文件都有一些独特的变量,但相同变量的名称是一样的,则新文件的变量数应该多于合并前任何一个数据的变量数(keep) 若每个文件的变量数目相同、变量包含的内容也相同,但变量的名称却不同,合并后,变量数目也会多出来,且
8、需给内容相同、但名称不同的变量更名5.3横向合并(merge)增加变量场合不同层次数据:母亲(或家庭或社区)与儿童数据 母亲是儿童的母亲,家庭是儿童的家庭,社区是儿童居住的社区 不同层次数据合并;低层次数据寓于高层次数据中配对数据:妻子与丈夫、兄弟姊妹 同层数据合并纵向追踪调查:不同时期的调查数据 大部分不同时期的调查对象是相同的 可以是单层次、也可以是不同层次数据的合并,以调查的内容而异其它场合原理 从一个数据库中提取一些变量到另一个数据库中,故横向合并也就是变量的合并 将盘符文件的内容连接到当前数据编辑窗口的右边,形成新数据 新数据的变量增加,但观察个案可以不变 实际上是将两个数据文件,按
9、照个案对应进行左右对接 实现数据文件的横向合并的前提是,主要数据和使用数据必须有一个(或多个)相同的关键变量 横向合并中,除关键变量外,其它变量的名称都不能相同 若两个数据包含其它的同名变量,则使用数据中的变量数值将被主要数据的同名变量数值取代窗口路径 Data Combine datasets Merge two datasets (Merge multiple datasets) 对话框及其解释 One-to-one on key variables(利用关键变量进行一对一的合并) One-to many on key variables (unique key for data in m
10、emory)(利用记忆空间的关键变量进行一对多的合并) Many-to-one on key variables (unique key for data on disk)(利用使用数据的关键变量进行一对多的合并) One-to-one by observation(一对一观察值的合并)选项对话框1. Keep the following variables: (If not specified, all variables are kept)2. Specify name of new variable to mark result of merge: 3. Do not copy valu
11、e lable definition from file4. Do not copy notes from file5. Replace missing data in memory with data from file6. Replace nonmissing data in memory with data from file7. Drop observations in dataset on disk that do not match第1、3、4项都与append命令下的选项相同;其它几项是merge命令独特的选项横向合并与纵向合并的异同 横向数据合并的基本命令是merge。利用该命
12、令,将新变量添加到当前数据中 与append 命令一样,在合并数据前,首先需要有足够的记忆空间,承载新增加的内容 注意注意:横向数据合并中,主要数据和使用数据都必须按照主要变量进行排序,否则合并无法进行,还会得到错误的提示,纵向数据合并无需对哪个变量进行排序 横向数据合并需要关键变量,纵向数据合并无需关键变量 .append将两个变量类似、但观察个案不同的数据整合在一起;.merge将具有不同变量的两个数据整合在一起横向合并的第一步 先看使用数据:. use 文件路径名称 打开使用数据库. sort 关键变量将关键变量进行排序,该变量是两个数据库共有的标识符. save 文件路径名称, rep
13、lace 保存并关闭已经按关键变量排序的使用数据库 横向合并的第二步再看主要数据:. use 文件路径名称 打开主要数据库. sort 关键变量 对关键变量进行排序. merge 关键变量 using 文件路径名称, keep 变量 关键变量即为sort后面的变量;利用该变量匹配两个数据 文件名是盘符数据库的名字 keep选项横向合并的基本选项 . merge . merge 关键变量A 关键变量B usingusing 文件路径和名称. merge . merge 关键变量 usingusing 文件路径和名称,updateupdate . merge . merge 关键变量关键变量 us
14、ing using 文件路径和名称 ,update update replacereplace . merge . merge 关键变量 usingusing 文件路径和名称,nokeepnokeepunique, unique, uniqmasteruniqmaster, , uniqusinguniqusing 系统变量 _merge 当Stata 合并文件时,软件自动生成系统变量_merge 该变量有取值,因是否使用update 或replace 选项而异 根据取值,可以了解合并的结果: 1 = 观察值仅来自于主要数据,使用数据没有匹配的数据 2 = 观察值仅来自于使用数据,主要数据没有
15、匹配的数据3 = 观察值来自主要数据和使用数据,且数值匹配4 = 观察值来自主要数据和使用数据,且主要数据的缺失值得到更新5 = 观察值来自于主要数据和使用数据,但两个数据的数值不匹配一对一合并(one-to-one on key variables). merge husbid using I:statahhwk_husb00.dta, unique 一对多合并(One-to-many on key variables)(1)使用数据分布情况一对多合并(One-to-many on key variables) (2)主要数据分布情况. merge mothid using “I:stata
16、ru_merge.dta”,uniqmastervariable mothid does not uniquely identify observations in F:stataru_merge.dta多对一合并(Many-to-one on key variables)(unique key for data on disk). merge mothid using I:statamuqin_merge, uniqusing variable mothid does not uniquely identify observations in the master data 一对多 vs.
17、多对一一对一观察值的合并(One-to-one by observation). merge using data2 注意事项:同名变量 除标识符外,两个数据中的变量名称不能相同;否则,使用数据变量的数值将被主要数据中同名变量的数值所取代。这样既达不到增加变量的目的,还会混乱数据 在行将合并的数据中,同样的变量内容需要有不同的名称 熟悉、了解主要数据和使用数据。若有重名变量,则新生成的数据变量比两个数据加起来的变量少(除关键变量外) 注意事项:合并后的变量数目 数据合并后,新数据的变量必须增加。新数据具体有多少变量 因两个原始数据中变量的数目而异 也因合并数据过程中读入的变量数目而异 但合并后
18、的数据无疑会比主要数据和使用数据有更多变量 若主要数据和使用数据各有5个变量,在合并数据的过程中,也没有限定读入的变量,且只有一个关键变量,则新数据将有9个变量(=5+5-1)注意事项:合并后的样本量在一对一的配对合并中,合并后的数据样本量 因原始数据样本量的多寡而异 也因合并方式而异 但通常不会少于主要数据的样本量若使用数据中的观察值与主要数据不完全匹配的话,则会出现多余的样本量注意事项:_merge变量在合并数据的过程中,系统自动生成_merge变量当合并完成后,可删除_merge变量删除_merge变量一则是因为该变量已经没有什么用处了,再则在以后的某个时间,我们也可能将新生成的数据与另
19、一个文件合并 在新一轮的合并中,Stata又会产生一个_merge变量 若原先的_merge变量没有删除的话,则Stata拒绝执行新的合并命令,且输出一个错误的提示,提示_merge已经存在注意事项:unique,uniqmaster,uniqusing选项 选项unique:只能用于使用关键变量的一对一的合并中。有时会得到下面的错误提示: variable mothid does not uniquely identify observations in the using datar(459); (mothid在使用数据中不是独一无二的) 一对多的合并可以使用uniqmaster 选项;多
20、对一的合并可以使用uniqusing选项。即便不使用选项,也会得到以下提示: variable mothid does not uniquely identify observations in the using data variable mothid does not uniquely identify observations in the master data注意事项:样本的取舍 . keep if _merge=3或. drop if _merge =1 | _merge =2 (N observations deleted) 这样实际上是去掉了两个原始数据中不匹配的观察值。剩余
21、的观察值就是在两个文件中都有的注意事项:重复值(I) 合并后的数据是否有重复的观察值?(注意:若一个高层数据与低层数据合并如儿童数据与母亲数据合并则对兄弟姊妹来说,母亲的ID一定是重复的。) 查找重复值的方法:方法一方法一:使用list _n-1命令 . sort kidid. list kidid if kidid =kidid_n-1 若有输出结果,则有重复值;否则无 注意,若某个变量有一个以上的缺失值,则从第二个缺失值开始,它们被当作是重复的注意事项:重复值(II)方法二方法二:使用assert命令. bysort kidid: assert _N=1 按照kidid 的分组,检查_N=
22、1的命题正确与否 对于每个kidid,必须有一个、且只能有一个观察值 1 contradiction in 15 by-groups assertion is false r(9); (在15个by分类中,有一个与上面的命题不符)(命题不正确)注意事项:重复值(III) 方法三方法三:使用duplicates reportduplicates report命令 提供一个表格,描述观察值出现的次数,是否有重复值 . duplicates report kididDuplicates in terms of kidid- copies | observations surplus-+- 1 | 1
23、4 0 2 | 2 1- 14个数据(surplus等于0);一个数值出现两次注意事项:重复值(IV) 方法四方法四:使用isid命令,检查关键变量是否独一无二地区分每个观察值. isid kidid variable kidid should never be missing r(459); (变量kidid永远不应该是缺失的) 这是一个错误提示。当该变量不缺失、但数据中存在重复观察值时,得到的将是: variable id does not uniquely identify the observations r(459); 相反,若没有重复观察值,则该命令不会有任何输出结果注意事项:重复
24、值(V) 方法五:使用tab命令. tab kidid,m 该方法如同list一样,当数据的观察值不多时,很好使用,但若观察值太多,则是耗时耗力的,即便不是毫无结果的两个或多个关键变量的合并一个标识符通常就可代表一个观察值,但有时需要两个甚至多个标识符才能代表一个观察值。比如,有一个不同社区的个体数据。于是,有一个独一无二的社区标识符(commid),还有一个个体的身份标识符(personid);个体标识符在不同社区可能是同样的。在这种场合,使用commid和personid一起表示独一无二的个体观察值合并数据时需要同时使用这两个关键变量,且使用数据和主要数据都必须按照两个关键变量进行排序。此
25、外,sort后面变量的顺序与merge后面变量的顺序应该是一样的:. sort commid personid. merge commid personid using 使用数据的路径和名称检查commid与personid一起,是否表示同一个观察值:. by commid personid: assert _N=1多个数据的合并(I) 数据1 (主要数据). use ds1. sort id. save ds1, replace 数据2:. use ds2. sort id. save ds2, replace 数据3:. use ds3. sort id. save ds3, replac
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 合并 转换 ppt 课件
限制150内