STATA数据管理_第1页
STATA数据管理_第2页
STATA数据管理_第3页
STATA数据管理_第4页
STATA数据管理_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、stata数据管理李博柏北京大学光华管理学院说明 程序文件: - data.do 生成所有人工数据 - dataman.do 运行本讲所有数据管理例子 - program.do “编程入门”程序文件 把三个文件拷贝到一个文件夹,打开stata,用“cd 文件夹路径”把数据文件夹确定为当前工作目录 在命令窗口键入: do data, do dataman即可运行所有例子学习要点 熟悉stata重要的数据管理命令 了解常见基本数据结构及其用途 了解数据管理中的常见问题 利用简单的编程解决复杂的数据管理问题基本数据结构介绍 横截数据(cross-sectional data) 合并横截数据(pool

2、ed cross-sectional data) 板块数据(panel, longitudinal, or cross-sectional time series data) 多层数据(multilevel or hierarchical data) 配对数据(matching or pairing data)数据合并合并类型数据结构命令纵向合并不同样本、相同变量append横向合并相同样本、不同变量merge交叉合并不同样本、不同变量joinby、cross数据合并 纵向合并:把多个样本简单累加(从cross-sectional 到pooled cross-sectional或) 横向合并:

3、把同一样本的不同变量累加 交叉合并:把不同样本和不同变量累加(适用于多层数据和配对数据)纵向合并要求 变量名要一致 变量类型要一致 样本序号不要重复(板块数据除外) 合并前要生成新变量来辨认不同样本使用append命令 先读入一个数据(内存内数据),然后 append using 文件名文件名 ,选项,选项 文件名为内存外数据文件(可省去.dta) keep(varlist): 保留内存外数据的变量 nolabel:不要拷贝内存外数值标签 nonotes:不要拷贝内存外数据标签横向合并:merge命令 先读入一个数据,然后 merge varlist using 文件文件1 , 选项选项 va

4、rlist为合并样本序号变量 文件1为内存外数据文件名,可以同时合并多个数据(因容易出错,故不建议使用)merge命令主要选项 _merge(newvar): 自动生成记录合并是否吻合的变量,默认为_merge, 取值为 - 1 不吻合 样本(仅内存内数据有) - 2 不吻合样本 (仅内存外数据有) - 3 吻合样本 update:如果两个数据有相同变量,内存内数据的缺失数据被内存外数据的相应数值覆盖 replace:如果有相同变量,使用内存外数据(必须同时选update才能有效)交叉合并 一一交叉:两个数据的每个个案做配对合并,形成(n1n2)个新样本;如婚姻配对、市场买卖、社会网络等数据有

5、时需要一一交叉合并(cross)。 组内交叉:两个数据内有分组,按分组做一一交叉合并;主要应用于多层数据结构中不同层次的数据合并(joinby)cross 命令 读入一个数据,然后cross using 文件名 注意事项:两个数据最好不能有相同变量名,如果有stata只能沿用内存内的数据joinby命令joinby varlist using 文件名文件名 , 选项选项 varlist是分组变量名 当两个数据还有其它相同变量时 -update 选项指定内存内数据的缺失数据被内存外数据的相应数值覆盖 - replace选项指定使用内存外数据(必须同时选update才能有效)数据重组重组类型使用范

6、围命令长宽结构转换板块数据处理reshape数据伸缩数据清理、历史事件数据处理expand、duplicate矩阵变换职业流动、社会网络等矩阵数据xpose、stack长宽数据转换 长数据格式:板块数据、历史事件数据等数据结构的两种不同的存储形式(其存储信息相同) 有些统计分析模型需要长格式,有些则需要宽格式,所以长宽格式转换处理板块数据的必备技能reshape 命令 宽转长:reshape long 干名,干名,i(varlist) j(varnamevalues) 长转宽:reshape wide 干名,干名,i(varlist) j(varnamevalues) 干名:宽格式因时而变的变

7、量名主干(在长格式为变量全名) i(varlist): 样本序号变量,为必须选项 j() : 宽因时而变得变量名后缀(在长格式为行变量的取值长宽格式转换注意事项 变量干名要一致 变量后缀要一致 变量后缀的位置要一致 样本序号要独特 同一样本数据行序号不独特 未被转换的变量在同一样本的取值不一样数据伸缩:expand命令expand 整数或变量名整数或变量名 if in expand 3 (每个样本复制三个数据行) expand -2 (整数小于2时,不做复制) expand x (按变量x的取值对每个样本进行复制) 数据伸缩:duplicates 命令 重复数据汇报:duplicates re

8、port varlist if in 重复数据举例:duplicates examples varlist if in 重复数据列表:duplicates list varlist if in 删除重复数据行:duplicates drop varlist if in,force 建立新变量来辨认重复数据行duplicates tag varlist if in , generate(newvar)矩阵变换:xposexpose,clear varname 把数据行变成数据列 clear选项: 新数据覆盖内存内的数据 varname选项:保留原数据中的变量名,记录在新生成的变量_varname

9、里 再运行xpose, clear 便可回复到原来的数据 矩阵变换:stack命令stack varlist if in, into(newvar) 选项选项stack varlist if in, group(组数组数) 选项选项 stack命令把变量varlist分组并进行纵向合并 into(newvar)是合并后的变量名,也可以group(组数)数据重新抽样sample # if in , count by(groupvars) sample 10 (随机抽样10%样本) sample 10, count (随机抽取10个样本) sample 10, by(sex) (男女各抽取10%样

10、本) sample 10, count by(educ sex) (按教育和性别的所有组合各抽取10个样本) set seed 5 (为了每次都能复制抽取的样(为了每次都能复制抽取的样本)本)描述数据抽取:collapse命令 collapse命令把数据分组,计算各组的描述统计,并生成一个样本为组数的新的数据。 collapse (mean) sex age income, by(county)(县为单位,性别、年龄、和收入的均值为变量县为单位,性别、年龄、和收入的均值为变量) collapse (mean) sex (median) age (sd) income, by(county)(县

11、为单位,性别均值、年龄中位数、收入标准县为单位,性别均值、年龄中位数、收入标准差为变量差为变量)collpase命令注意事项 其他统计值:count(有效样本),max(最大值),min(最小值),sum(总和),p#(#%值). 当要计算一个变量的多个指标时,需要指定变量名,如collapse (mean) meaninc=income (sd) sdincome=income, by(county) 要注意缺失数值,采用cw选项描述数据抽取:contract命令 contract命令把数据分组,计算每一组的频率或百分比 contract county sex, freq(f) percen

12、t(p) zero(以县和性别交叉分组为单位,每组频率(以县和性别交叉分组为单位,每组频率和百分比为变量,包括和百分比为变量,包括0频率的组)频率的组)数据管理中的变量类型 在统计数据中,字串只能以存储为字符格式,而数字既可以存储为字符格式,也可以存储为数字格式 当同一变量有不同存储格式时,如果不注意,数据合并会产生大规模缺失 在数据合并时,一定检查变量类型,并用destring或tostring来转换变量类型(注意和decode、enecode的区别)destring和tostring命令 destring命令把数字从字符格式转换成数字格式destring income percent, r

13、eplace ignore($) percent force(把变量income和percent转换成数字格式,覆盖原变量,忽略“$”, 并把百分比转换成小数,如38%变成0.38 ;把不能转换的强行换成缺失) 如果不指定变量,destring会转换数据中所有可以转换的变量 tostring是正好相反,把数字格式的数字变成字符格式缺失数值编码 stata的缺失数值编码为 “.” 如果要记录不同类型的缺失,则用 “.a”、“.b”、“.c” 来表示 采用 mvdecode 把特定数值转换成缺失码 采用mvencode把缺失码转换成特定数值mvdecode和mvencode mvdecode _all, mv(-1=.a-2=.b-3=.c-4=.d)(把数据中所有变量中的-1至-4分别转换成缺失码.a至.c) mvencode _all, mv(.a=-1.b=-2.c=-3.d=-4)(把数据中所有变量中的.a至.c分别转换成-1至-4)作业 stock2008.xls是一个excel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论