《Stata数据管理》PPT课件.ppt_第1页
《Stata数据管理》PPT课件.ppt_第2页
《Stata数据管理》PPT课件.ppt_第3页
《Stata数据管理》PPT课件.ppt_第4页
《Stata数据管理》PPT课件.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、第三讲 Stata数据管理,变量名称,基本规则 由英文字母、数字或_组成,不超过32个字 首字母必须为字母或_ 英文字母大写和小写具有不同的含义 示例 abc a1 a2 Gdp 都是合理的变量名 5gdp 2invest则不是 注意: 建议不要使用“_”作为 变量的首字母 Stata的内部变量许多是以_开头的,如_n, _N,_b等。,变量的取值类型,字符型变量 存储格式 str#,#表示该变量存储最多可容纳的字符数 如str7 数值型变量 整数(int) 浮点(float) 长整数(long) 双浮点(float) 日期型变量,变量的显示格式,数值型变量的显示格式 e格式(科学计数法) f

2、格式(固定格式) g格式(一般格式) c格式(带千分符) 如%9.0g, %9.0f,%9.0fc 字符变量的显示格式 %#s 如%22s %-14s,其中“-”表示左对齐,变量的显示格式,日期型变量,+-+ - Numerical value & interpretation - Format Meaning Value = -1 Value = 0 Value = 1 -+-+-+-+- %tc clock 31dec1959 01jan1960 01jan1960 23:59:59.999 00:00:00.000 00:00:00.001 %td days 31dec1959 01ja

3、n1960 02jan1960 %tw weeks 1959w52 1960w1 1960w2 %tm months 1959m12 1960m1 1960m2 %tq quarters 1959q4 1960q1 1960q2 %th half years 1959h2 1960h1 1960h2 %tg generic -1 0 1 +-+,字符型转为数值型,destring:字符中还有特殊符号,如“-,%”等 destring x,replace ignore(“-”) real( ): 字符中没有特殊符号 real(string),数值型转为字符型,tostring: tostring

4、 x,replace tostring x,gen(x1) string: gen x=string(y),字符变量的操作,字符变量的分解:split var,parse(x) split date, parse(-) 字符变量的合成:+ gen a=b+c dis “I am”+”a teacher” 获取部分字符串:substr(x,t1,t2) “2004-01-03” substr(x,1,4)=“2004”,变量的显示格式,日期型变量 如何将字符串变为数值 以日期为例,命令date(string,mask) 如 gen x=date(date,“MDY”),修改变量的格式,forma

5、t命令 format varlist %fmt sysuse auto 练习,变量的标签,标签是为变量、数据等提供说明,便于使用者更清晰的了解数据的结构和变量。 label命令 Label varname “label” Sysuse auto,clear Label var make “make”,基本数据操作命令,browse edit rename save describe list codebook display sort,Stata中的表达式:算术表达式,+ (减号或负号) * / (乘方) dis (2+3*93)0.5/63,Stata中的表达式:关系和逻辑表达式,= (等于

6、) !=(不等于) = 20 &age50,数据子集的定义,in命令:用于指定观测值,可以是某一个观测值,也可以是某个区间 List in 20/30 List in 1/10 List in -10/-1 if命令:如果 List if age=20 by命令:非常重要 用来对某些具有相同复制的样本子集重复执行命令 by varlist: stata_cmd Bysort varlist : stata_cmd 如bysort sex: keep if age=20,变量的相关操作,产生新变量:generate命令 gen x y;gen x=1;gen x=x2 替换已有变量: repla

7、ce命令(该命令不能缩写) replace x=2 if x=1 产生特殊函数值的命令:egen egen x=mean(y) gen dy=y-x gen x1=median(y),变量的相关操作,产生新变量:generate命令 gen x y;gen x=1;gen x=x2 替换已有变量: replace命令(该命令不能缩写) replace x=2 if x=1 产生特殊函数值的命令:egen egen x=mean(y) gen dy=y-x gen x1=median(y) 删除变量和记录的命令:drop drop x drop if x=2 保留记录的命令:keep keep

8、if x=2,_n和_N,_n:样本序号变量,是一个变量,内容为1,2,3,.,n _N:样本数指标,是一个单值,内容为样本数 _n是一个永远存在,但却不能list出来的特殊变量 _n的取值会随样本排序的变化而变化,_n和_N的应用,产生滞后项:gen lagsales=sales _n-1 产生前导项:gen lagsales=sales _n+1 产生最后一项:gen msales=sales _N 差分:gen dsales=sales-sales _n-1 增长率:gen gsales= (sales-sales _n-1)/sales _n-1 表示是否为第一/最后一项:if _n=

9、1 / if _N=1,数据的纵向合并,纵向合并是指把两个数据的样本加总在一起,合并后的数据变量数不变,但样本量增加 纵向合并两个数据之前,需要以下几个步骤: 两个数据文件里的变量的变量名要一致 两个数据文件里相同变量的变量类型要一致 合并命令:append use x1.dta,clear append using x2.dta save x1.dta,replace 练习: 调用auto.dta数据表单 将数据表单按foreign=0或1分为两个文件分别保存 然后合并,数据的横向合并:merge,横向合并是指将两个数据文件的变量加总在一起。合并后数据的样本不变,但变量的数量增加。 合并命令

10、:merge merge varlist using filename, options 在横向合并中,主数据文件和被合并文件的合并变量必须sort use a.dta,clear merge x1 using sj.dta, sort save a.dta,replace 该命令完成后会生成一个变量_merge _merge=1表示该记录来自主数据文件 _merge=2表示该记录来自被合并文件 _merge=3表示同时来自主数据文件和被合并文件 tab _merge,数据的横向合并练习,打开auto.dta文件,将该数据文件拆分为两个文件,一个包含make price mpg rep78 h

11、eadroom trunk变量,存为auto1.dta;另一个包含make weight length turn displacement gear_ratio,存为auto2.dta。 以auto1.dta为主数据文件,以make为合并变量,合并auto2.dta文件。 请大家写do文件完成,数据的横向合并练习,打开auto.dta文件,将该数据文件拆分为两个文件,一个包含make price mpg rep78 headroom trunk变量,存为auto1.dta;另一个包含make weight length turn displacement gear_ratio,存为auto2.

12、dta。 以auto1.dta为主数据文件,以make为合并变量,合并auto2.dta文件。 请大家写do文件完成,分位数,命令pctile:产生分位数,不能与by连用 例:pctile x=size, nq(10) 例:pctile x=size, nq(10) gen(y) 命令xtile:产生所属组别,不能与by连用 例:xtile x=size, nq(10) 命令_pctile:产生分位数,并将各分位数存在r(r#)中 例:_pctile price,p(1 99) dis r(r1) r(r2) 函数pctile( )与xtile( ),可以与by或bysort连用 例:byso

13、rt year: egen x=pctile(size), nq(10) 例:bysort year: egen x=xtile(size), nq(10),分位数,缩尾处理(winsor) 截尾处理(truncating),虚拟变量的产生,基本方式:使用generate 和 replace命令 sysuse nlsw88.dta,clear gen dum race2=0 replace dum race2=1 if race=2 gen dum_race3=0 replace dum_race3=1 if race=3 基于类别变量: tab命令 sysuse nlsw88.dta,cle

14、ar tab race,gen(dum_r) 基于类别变量生成虚拟变量: xi命令 xi i.race,将连续变量变为类别变量,等分样本: group() sysuse nlsw88.dta,clear sort wage gen g_wage=group(5) tab g_wage 指定分界点的转换方式 : recode sum age recode age(min/39=1) (39/42=2) (42/max=3),gen(g_age) *1 if age=39 *2 if 39age=42 右闭区间,do 文档简介,do文档是stata命令的集合,方便我们一次性执行多条stata命令 如何打开do文档: doedit doedit mylog.do do文档的执行 执行一部分命令 整体执行 do mylog.do 注释方式 * 第一种注释方式 sum price weight /*第二种注释方式*/ dis x /第三种注释方式,练习,从CSMAR中下载2005-2010年沪深主板公司财务数据(ROA、总资产、销售收入)、公司治理数据(第一大股东持股比例、最终控制人性质)与基本信息数据(行业、注册地等),并合并这些数据 把字符变量(日期date )分解为数值变量:年year、月mont

温馨提示

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

评论

0/150

提交评论