STATA硕士研究生班计量经济软件及应用对外经济贸易大学金融学院谢海滨InternationalBusinessSchool,UIBE第二讲、数据整理STATA是当前最为流行的统计计量分析之一STATA常用数据整理功能:-1.数据表格的拆分:横向拆分、纵向拆分-2.数据表格的合并:横向合并、纵向合并-3.数据文件的排序-4.数据重排第二讲、数据整理IDNameGenderMinorityChineseMathEnglishstu_1John11708090stu_2Tom11654080stu_3Anny02257030stu_4Ami03464375stu_5Jim11125698stu_6Jones02326778stu_7Phillip01716790stu_8Kevin11305063stu_9Brian12782367stu_10Marry01897820IDNameGenderMinorityChineseMathEnglishstu_1John11708090stu_2Tom11654080stu_5Jim11125698stu_8Kevin11305063stu_9Brian12782367IDNameGenderMinorityChineseMathEnglishstu_3Anny02257030stu_4Ami03464375stu_6Jones02326778stu_7Phillip01716790stu_10Marry01897820表1:学生成绩总表表2:男生成绩表(male)表3:女生成绩表(female)第二讲、数据整理•常用表格拆分命令–drop:删除变量或观测值。如dropmath,删除变量math–keep:保留变量或观测值。如keepmath,保留变量math•假定上述表格存放在C盘的mystata文件夹中,文件名orginial.dta.•代码1(保留男生成绩):•cdd:/mystata•useoriginal,clear•keepifGender==1•savemale,replace•代码2(保留女生成绩):•cdd:/mystata•useoriginal,clear•keepifGender==0•savefemale,replace•问:如何用drop命令进行上述操作!!第二讲、数据整理IDNameGenderMinorityChinesestu_1John1170stu_2Tom1165stu_3Anny0225stu_4Ami0346stu_5Jim1112stu_6Jones0232stu_7Phillip0171stu_8Kevin1130stu_9Brian1278stu_10Marry0189表1:学生语文成绩表IDNameGenderMinorityMathstu_1John1180stu_2Tom1140stu_5Jim1170stu_8Kevin1143stu_9Brian1256stu_3Anny0267stu_4Ami0367stu_6Jones0250stu_7Phillip0123stu_10Marry0178表2:学生数学成绩表IDNameGenderMinorityEnglishstu_1John1190stu_2Tom1180stu_5Jim1198stu_8Kevin1163stu_9Brian1267stu_3Anny0230stu_4Ami0375stu_6Jones0278stu_7Phillip0190stu_10Marry0120表3:学生英语成绩表第二讲、数据整理•语文成绩表•cdd:\mystata•useoriginal,clear•dropEnglishMath•saveChinese,replace•英语成绩表•cdd:\mystata•useoriginal,clear•dropChineseMath•saveEnglish,replace•数学成绩表•cdd:\mystata•useoriginal,clear•dropChineseEnglish•saveMath,replace问:如何用keep命令进行相同的操作?第二讲、数据整理•数据的横向合并–数据的横向合并表示变量观测值的增加,而变量数目本身不变–数据横向合并命令,append•将男生和女生的成绩表合并•cdd:\mystata//设定路径为d盘mystata文件夹•usemale,clear//打开数据文件male•appendusingfemale//将female数据并入male•savetotal,replace//将并表后的数据存为total第二讲、数据整理•数据的纵向合并–数据的纵向合并是增加数据变量,而数据变量的观测值一般保持不变–数据纵向合并命令,merge•纵向合并有四种类型–一对一合并,merge1:1–一对多合并,merge1:m–多对一合并,mergem:1–多对多合并,mergem:m第二讲、数据整理•一对一合并代码(STATA旧版本)•cdd:\mystata•useChinese,clear•sortID•saveChinese,replace•useMath,clear•sortID•mergeIDusingChinese•tab_merge•drop_merge•sortID•saveMerge_data,replace•useEnglish,clear•sortID•mergeIDusingMerge_data•tab_merge•drop_merge•saveMerge_data,replace•一对一合并–一对一合并指的是按照关键字进行一对一的匹配–请将语文成绩表、数学成绩表和英语成绩表按照学号进行一对一合并•一对一合并代码(STATA高版本)•cdd:\mystata•useChinese,clear•merge1:1IDusingEnglish•list•drop_merge•merge1:1IDusingMath•list•drop_merge•saveMerge_data,replace第二讲、数据整理idyeardistrictearnings11997北京10011998北京20021997上海10021998上海30011999北京30021999上海35012000北京40022000上海42012001北京42022001上海450iddistrictIndex1北京82上海15表1地区收入表(earning)表2地区竞争力表(competition)第二讲、数据整理•一对多合并•usecompetition,clear//导入竞争力指数•merge1:midusingearning//按关键字id将两表进行一对多合并•list//显示并表后的结果•savemymerge,replace//保存数据•多一对合并•useearning,clear//导入竞争力指数•mergem:1idusingcompetition//按关键字id将两表进行多对一合并•list//显示并表后的结果•savemymerge1,replace//保存数据第二讲、数据整理表一对多合并结果iddistrictIndexyearearnings_merge1北京81998200matched(3)2上海152001450matched(3)1北京82001420matched(3)1北京81999300matched(3)1北京82000400matched(3)1北京81997100matched(3)2上海152000420matched(3)2上海151999350matched(3)2上海151998300matched(3)2上海151997100matched(3)idyeardistricteraningsIndex_merge11999北京3008matched(3)12000北京4008matched(3)11998北京2008matched(3)11997北京1008matched(3)12001北京4208matched(3)22001上海45015matched(3)21999上海35015matched(3)21998上海30015matched(3)21997上海10015matched(3)22000上海42015matched(3)表多对一合并结果第二讲、数据整理iddistrictcompetition_indexyear1北京819972上海1519971北京919982上海151998idyeardistricteranings11997北京10011998北京20021997上海10021998上海300表1:地区竞争力表(Exa_1)表2:地区收入表(Exa_2)第二讲、数据整理iddistrictcompetition_indexyeareranings_merge1北京81997100matched(3)1北京91998200matched(3)2上海151997100matched(3)2上海151998300matched(3)•多对多合并•useExa_1,clear//导入实例数据1•mergem:midusingExa_2//按关键字id将两表进行多对多合并•list//显示并表后的结果•savemymerge2,replace//保存数据表多对多合并结果第二讲、数据整理•数据文件排序•数据经过拆分合并等操作之后,数据排列往往杂乱无章,因此需要多数据进行重新排序•数据排序命令sort,gsort•sort只能进行升序排序,gsort既可以升序也可以降序,不过用gsort进行降序排序需要在排量前加上负号-•单变量排序•-升序•cdd:\mystata//设定工作路径•useoriginal,clear//打开数据文件•sortEnglish//按英语成绩升序•list//显示结果•saveoriginal,replace//保存排序后的结果•-降序•cdd:\mystata•useoriginal,clear•gsort-English//按英语成绩降序排序•list•saveoriginal,replace•多变量排序•cdd:\mystata•useoriginal,clear•gsortGender-English//先按性别排序,在根据英语成绩降序排序•list•saveoriginal,replace课程小结及参考文献课程小结参考文献主要内容:STATA的数据整理命令核心提要:1.常用数据整理命令:drop,keep,append,merge,sort,gsort等;2.会运用这些命令进行简单地数据整理工作!参考书目:1.STATA十八讲,中国人民大学,陈传波.2.STATA简明讲义,中国经济研究中心,王非3.高级计量经济学及Stata应用,山东大学,陈强第一讲、STATA入门复习和练习•重点复习命令:drop,keep,append,merge,sort,gsort•用帮助查看命令gen的功能•请将本讲中的数学成绩表和英语成绩表按照学号进行一对一合并。算出每一位学生的平均成绩,并放在变量aver_score中。根据性别将男女生成绩按从高到底排列。随时欢迎您访问谢海滨老师的主页:=130有问题,请和我联系。OfficeHour:每周四9:30-22:30Email:hbxie@amss.ac.cn谢谢对外经济贸易大学金融学院SchoolofBankingandFinance,UIBE