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) 合并

2、横截数据(pooled 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 c

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

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

5、并,形成(n1n2)个新样本;如婚 姻配对、市场买卖、社会网络等数据有 时需要一一交叉合并(cross)。 组内交叉:两个数据内有分组,按分组 做一一交叉合并;主要应用于多层数据 结构中不同层次的数据合并(joinby) cross 命令 读入一个数据,然后 cross using 文件名 注意事项:两个数据最好不能有相同变 量名,如果有stata只能沿用内存内的 数据 joinby命令 joinby varlist using 文件名文件名 , 选项选项 varlist是分组变量名 当两个数据还有其它相同变量时 -update 选项指定内存内数据的缺失数 据被内存外数据的相应数值覆盖 - r

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

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

8、制) expand x (按变量x的取值对每个样本进 行复制) 数据伸缩:duplicates 命令 重复数据汇报: duplicates report 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) 矩阵变换:xpose xpose,clear

9、 varname 把数据行变成数据列 clear选项: 新数据覆盖内存内的数据 varname选项:保留原数据中的变量名, 记录在新生成的变量_varname里 再运行xpose, clear 便可回复到原来的数 据 矩阵变换:stack命令 stack varlist if in, into(newvar) 选项选项 stack varlist if in, group(组数组数) 选项选项 stack命令把变量varlist分组并进行纵向合 并 into(newvar)是合并后的变量名,也可以 group(组数) 数据重新抽样 sample # if in , count by(group

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

11、年龄、和收入的均值为变量县为单位,性别、年龄、和收入的均值为变量) collapse (mean) sex (median) age (sd) income, by(county) (县为单位,性别均值、年龄中位数、收入标准县为单位,性别均值、年龄中位数、收入标准 差为变量差为变量) collpase命令注意事项 其他统计值:count(有效样本),max (最大值),min(最小值),sum(总 和),p#(#%值). 当要计算一个变量的多个指标时,需要 指定变量名,如 collapse (mean) meaninc=income (sd) sdincome=income, by(count

12、y) 要注意缺失数值,采用cw选项 描述数据抽取:contract命令 contract命令把数据分组,计算每一组的 频率或百分比 contract county sex, freq(f) percent(p) zero (以县和性别交叉分组为单位,每组频率(以县和性别交叉分组为单位,每组频率 和百分比为变量,包括和百分比为变量,包括0频率的组)频率的组) 数据管理中的变量类型 在统计数据中,字串只能以存储为字符 格式,而数字既可以存储为字符格式, 也可以存储为数字格式 当同一变量有不同存储格式时,如果不 注意,数据合并会产生大规模缺失 在数据合并时,一定检查变量类型,并 用destring或

13、tostring来转换变量类型(注 意和decode、enecode的区别) destring和tostring命令 destring命令把数字从字符格式转换成数字格式 destring income percent, replace 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

提交评论