Stata简明讲义
- 格式:pdf
- 大小:814.05 KB
- 文档页数:59
Stata简明讲义王非中国经济研究中心ebwf@〇、写在前面的话关于学习Stata的意义,大家只需知道:目前,Stata是计量经济学、特别是微观计量经济学的主流软件。
因此,Stata很重要、很有用,而大家也会在使用Stata 的过程中慢慢体会到它的特点。
本讲义取名为“Stata简明讲义”,意在突出“简”和“明”两个字。
虽然讲义长达五十多页,但相比Stata的完全手册来说,还不及九牛之一毛,故为“简”。
实际上,完全手册中的很多内容都鲜有人(特别是计量经济学者)问津,而本讲义列出的内容则是大家经常用到的操作;所以,“简”也有“简”的好处。
即便如此,掌握这份讲义也并非易事。
所谓“明”,是明晰的意思。
本讲义本着“手把手教”的精神,力求把每项操作都说得具体明晰,以方便初学者(特别是没有程序操作经历的初学者)尽快上手。
至于本讲义在“简明”上做得怎么样,还需要各位读者来评判。
中心的一位学长邹传伟,曾经写过一份“Stata介绍”,在网上可以下载。
那份讲义比较全面,但不够具体明晰。
本讲义参照那份讲义,在框架上查漏补缺,并进一步地明晰化。
本讲义第二部分的“do文件”和第七部分的“残差分析”的相关内容均来自于中心的沈艳老师的相关讲义,而沈老师对于本讲义的成形给予了细致的指导。
本讲义附带了一些数据文件,其中“WAGE1.dta”和“WAGEPRC.dta”均来自Wooldridge的中级计量教材的数据集,而其他数据则为作者自己的杜撰。
尽管从别人那里拿来了许多好东西,但本讲义的任何错误仍源于作者自己的疏忽。
本讲义是这样安排的:第一部分讲Stata的界面,第二部分讲do文件,第三部分讲怎样把数据导入Stata,第四部分专门讲help和search命令以及帮助文件的阅读方法,第五部分讲数据的描述及管理,第六部分讲如何画图,第七部分讲初步的回归分析。
祝各位学习愉快。
一、Stata长什么样?首先,让我们看看Stata长什么样。
我们以Stata 9.1(以下简称Stata)为例。
STATA 讲义目录Stata入门教程:Stata概貌Stata 第一章数据输入,存盘和调用文件命令以及数据管理命令Stata第二章 描述性统计命令与输出结果说明Stata第三章 正态检验与作图命令Stata第四章 t检验和单因素方差分析(上)Stata第四章 t检验和单因素方差分析(下)Stata第五章 多组计量资料比较的非参数检验命令与输出结果说明Stata第六章 卡方检验Stata第七章 相 关 分 析Stata第八章 单 因 素 生 存 分 析Stata第九章 多因 素 方 差 分 析 命 令 与 输 出 结 果 说 明Stata第十章 线 性 回 归 和 逐 步 回 归 命 令 和 输 出 结 果 说 明Stata第十一章 Logistic回归分析命令与输出结果说明Stata第十二章 Cox回归分析命令与输出结果说明第一章 Stata 概貌§1.1 Stata的功能、特点和背景Stata是一个用于分析和管理数据的功能强大又小巧玲珑的实用统计分析软件,由美国计算机资源中心(Computer Resource Center)研制。
从1985至1998的十四年时间里,已连续推出1.1,1.2,1.3,1.4,1.5,……及2.0,2.1,3.0,3.1,4.0,5.0,6.0等多个版本,通过不断更新和扩充,内容日趋完善。
它同时具有数据管理软件、统计分析软件、绘图软件、矩阵计算软件和程序语言的特点,又在许多方面别具一格。
Stata融汇了上述程序的优点,克服了各自的缺点,使其功能更加强大,操作更加灵活、简单,易学易用,越来越受到人们的重视和欢迎。
Stata的突出特点是只占用很少的磁盘空间,输出结果简洁,所选方法先进,内容较齐全,制作的图形十分精美,可直接被图形处理软件或字处理软件如WORD等直接调用。
一、 Stata的数据管理能力1. Stata的数据管理空间受计算机的操作系统和计算机扩展内存的影响。
线性相关和回归赵耐青在实际研究中,经常要考察两个指标之间的关系,即:相关性。
现以体重与身高的关系为例,分析两个变量之间的相关性。
要求身高和体重呈双正态分布,既:在身高和体重平均数的附近的频数较多,远离身高和体重平均数的频数较少。
样本相关系数计算公式(称为Pearson 相关系数):)()())((22YYXXXY L L L Y Y X X Y Y X X r =----=∑∑∑(1)1. 考察随机模拟相关的情况。
显示两个变量相关的散点图程序simur.ado (本教材配套程序,使用见前言)。
命令为simur 样本量 总体相关系数 如显示样本量为100,ρ=0的散点图 本例命令为simur 100 0如显示样本量为200,ρ=0.8的散点图本例命令为simur 200 0.8如显示样本量为200,ρ=0.99的散点图本例命令为simur 200 0.99如显示样本量为200,ρ=-0.99的散点图本例命令为simur 200 -0.99例1. 测得某地15名正常成年男子的身高x(cm)、体重y(kg)如试计算x和y之间的相关系数r并检验H0:ρ=0 vs H1: ρ≠0。
α=0.05数据格式为176.0 69.0175.0 74.0172.0 68.0170.0 64.0173.0 68.5168.0 56.0172.0 54.0170.0 62.0172.0 63.0173.0 67.0168.0 60.0171.0 68.0172.0 76.0173.0 65.0Stata命令pwcorr 变量1 变量2 …变量m,sig本例命令pwcorr x y,sigpwcorr x y,sigPearson相关系数=0.5994,P值=0.0182<0.05,因此可以认为身高与体重呈正线性相关。
注意:Pearson相关系数又称为线性相关系数并且要求X和Y双正态分布,通常在检查中要求X服从正态分布并且Y服从正态分布。
Stata介绍作为流行的计量经济学软件,Stata的功能十分地全面和强大。
可以毫不夸张地说,凡是成熟的计量经济学方法,在Stata中都可以找到相应的命令,而这些命令都有许多选项以适应不同的环境或满足不同的需要。
即使是最详细的Stata手册,也难免有遗珠之憾,更何况本文仅是一个粗浅的介绍。
掌握Stata最好的办法是在实践中学习:Stata 本身提供了非常强大的帮助系统,并且关于Stata的书籍和网络资源都不少。
本文拟根据如下顺序介绍Stata:1.界面;2.文件和数据;3.语法和命令;4.数据管理;5.描述统计;6.画图;7.回归和回归分析;8.常用命令。
第3和第4部分是最体现Stata灵活性的地方,也是应用Stata的基础。
第5和第6部分介绍如何用Stata完成基本的统计功能。
Stata的功能很多,比如回归,曲线拟合,生存分析,主成分分析,因子分析,聚类分析,时间序列分析等等。
但回归无疑是其中最重要的功能。
第7部分介绍如何用Stata作线性回归和Logistic回归。
本文第2和第3部分包含了作者的观点,难免有偏颇之处。
其余部分主要来自文献的归纳和总结。
限于水平有限,错误在所难免,敬请原谅。
1.界面图1 Stata界面Stata有4个窗口:1. Stata Command(右下)用于向Stata输入命令;2. Stata Results(右上)用于显示运行结果;3. Review(左上)记录使用过的命令;4. Variables(左下)显示当前memory中的所有变量。
窗口上方是工具栏,其上的按钮依次为(从左到右)Open, Save, Print Graph/Print Log, Log Start/Stop/Suspend, Bring Log to Front, Bring Graph to Front, Do-file Editor, Data Editor, Data Browser, Clear –more- condition, Break。
Stata学习讲义刘志阔一、如何导入数据Stata的数据处理功能是极其强大的,不过我们最好在excel中整理数据,然后导入到stata中就可以了。
命令:insheet using name.csv*注意,Stata只能用csv格式,另外把数据放到stata的目录中。
二、如何进行回归Stata中有很多命令,这些命令都是现成的,直接用就可以了。
不过,怎么用是个问题。
熟悉命令的基础上学会如何使用Help。
最简单的命令reg做ols回归,xtreg处理面板等。
命令:reg y x*注意,Stata命令的格式,自己回去看手册。
网络帮助可以采用如下命令获得findit scat3, net;search scat3, net三、如何导出结果Stata可以直接导出发表论文中回归结果,当然不是完全一样。
命令:outreg2 Results using name.word四、如何画图Stata的画图功能也是极其强大的,可以画出各种类型的图标。
命令:scatter y x || lfit y x五、如何存储结果Stata可以储存回归结果,便于分析。
命令:log using name log closed1.codebook可以查看数据有没有缺失2.xml_tab estout 可以输出结果3.qui tab year, gen(yr) 可以生产时间虚拟变量。
4.g q=quarterly( qtr,"YQ")5.form q %tq6.recode province (min/11=1) (12/19=2) (20/31=3)gen eastern=(province==1)gen middle=(province==2)gen western=(province==3)Logout 命令可以把界面内容存到word里面,而不用复制。
Logout,save(名称) word/excel replace:各种描述性命令,statsXml_tab可以输出Excel格式的结果。
Stata简明讲义王非中国经济研究中心ebwf@〇、写在前面的话关于学习Stata的意义,大家只需知道:目前,Stata是计量经济学、特别是微观计量经济学的主流软件。
因此,Stata很重要、很有用,而大家也会在使用Stata 的过程中慢慢体会到它的特点。
本讲义取名为“Stata简明讲义”,意在突出“简”和“明”两个字。
虽然讲义长达五十多页,但相比Stata的完全手册来说,还不及九牛之一毛,故为“简”。
实际上,完全手册中的很多内容都鲜有人(特别是计量经济学者)问津,而本讲义列出的内容则是大家经常用到的操作;所以,“简”也有“简”的好处。
即便如此,掌握这份讲义也并非易事。
所谓“明”,是明晰的意思。
本讲义本着“手把手教”的精神,力求把每项操作都说得具体明晰,以方便初学者(特别是没有程序操作经历的初学者)尽快上手。
至于本讲义在“简明”上做得怎么样,还需要各位读者来评判。
中心的一位学长邹传伟,曾经写过一份“Stata介绍”,在网上可以下载。
那份讲义比较全面,但不够具体明晰。
本讲义参照那份讲义,在框架上查漏补缺,并进一步地明晰化。
本讲义第二部分的“do文件”和第七部分的“残差分析”的相关内容均来自于中心的沈艳老师的相关讲义,而沈老师对于本讲义的成形给予了细致的指导。
本讲义附带了一些数据文件,其中“WAGE1.dta”和“WAGEPRC.dta”均来自Wooldridge的中级计量教材的数据集,而其他数据则为作者自己的杜撰。
尽管从别人那里拿来了许多好东西,但本讲义的任何错误仍源于作者自己的疏忽。
本讲义是这样安排的:第一部分讲Stata的界面,第二部分讲do文件,第三部分讲怎样把数据导入Stata,第四部分专门讲help和search命令以及帮助文件的阅读方法,第五部分讲数据的描述及管理,第六部分讲如何画图,第七部分讲初步的回归分析。
祝各位学习愉快。
一、Stata长什么样?首先,让我们看看Stata长什么样。
我们以Stata 9.1(以下简称Stata)为例。
点击可执行文件“wstata.exe”,即可看到Stata的基本界面:中间黑色背景的区域就是Stata的基本显示界面,数据分析的结果一般显示在这一区域中。
在我看来,黑色的背景有助于减缓视觉疲劳。
如果你不喜欢这种显示方式,可以把鼠标放在这一区域中,点击鼠标右键,进而设定自己喜欢的显示方式。
围绕着黑色区域,有三个白色背景的框,左边两个,下边一个。
左下角的框的标题是“Variables”,这里会显示数据中所有变量的名称。
下边的框的标题是“Command”,这里用来输入各种操作命令,命令操作的结果一般会显示在黑色区域中。
左上角的框的标题是“Review”,这里会显示你曾经操作过的所有命令。
在三个框的右上角,均有这样一个小图标:。
点击它会使框隐藏起来,其效果类似于把QQ拖到屏幕的边上;再次点击会恢复原状。
而点击右上角另外一个图标,会把相应的框关掉;如果想再次打开,可以点击菜单栏的“Window”,并选择相应的框。
黑色屏幕上方的菜单栏和图标栏,下文会逐步涉及。
二、良好的习惯从do文件开始上文提到,Stata的Command框可以输入各种操作命令。
实际上,绝大多数初学者(甚至很多长时间使用Stata的人)都只是通过Command框一条一条地输入命令,边走边看。
这种做法的缺点在于:进行命令操作的时候具有盲目性,不易厘清自己将要做什么;而命令操作过后缺乏系统性,忘了自己曾经做过什么,而且别人也无法了解你的操作过程;另外,如果你想再次进行类似的操作,得重新输入曾经运行过的命令,比较繁琐。
因此,大家最好从一开始就养成一个良好的习惯:在进行任何程序操作之前,都要事先写好完整的操作计划书;这一操作计划书在Stata里叫做do文件,而Stata会自动运行do文件中计划好的所有操作。
下面是一个do文件的一部分(选自沈艳老师的相关讲义),我们借此看一下do 文件是个怎样的东西。
第一行是这个do文件的名称,do文件的后缀名是“do”。
第二行是这个do文件的作用,即你要通过这份操作计划书做什么事情。
这两行不是操作的内容,而是对操作的注释。
在do文件中,注释的部分用“/*”和“*/”包裹起来。
有编程经验的人都知道,注释在程序里非常重要。
从上面的do文件可以看出,注释不仅出现在开头,而且出现在每一段命令之前。
注释虽然不直接参与程序的运行,但却可以帮助你清晰地规划将要做的事情,也可以帮助你在事后准确地回忆起曾经做过的事情,还可以帮助他人较快地读懂你的操作计划。
一个好的注释必须简洁、清晰,能用短短几个词就准确地描述你要做的事情。
接下来,是“set more off”命令。
在程序的运行过程中,如果显示结果很长(如一屏显示不完),屏幕下方就会出现“—more—”的标记;这时,Stata会暂停显示;只有按任意键,结果才能继续显示下去。
而“set more off”就是把“—more—”标记去掉的命令;这样,do文件在运行的过程中就不会因为某项操作的显示结果太长而暂停运行。
接下来,是“cap log close”命令。
要明白这条命令,得先明白什么是log文件。
打个比方,开大会的时候,需要录像机全程录像,以备事后查用。
同样,运行操作程序的时候,也需要全程记录所有的操作命令和操作结果,以备事后查用。
log 文件就是Stata中的录像带,用来忠实记录整个操作过程。
如果准备拍新录像的时候,发现一盘旧录像带还在录像机里放着,那么就要先取出旧录像带,以便放入新录像带。
同样,如果在进行新的程序操作之前,Stata还在运行着某个以前的log文件,那么就得先把这个log文件关掉,以便开启新的log文件进行记录。
“log close”就是关闭旧的log文件的命令。
在“log close”前面加“cap”的原因是:如果原来没有log文件在运行,那么运行“log close”命令会产生错误信息,Stata也就会因此中止do文件的运行;而前面的“cap”可以阻止在“log close”命令运行过程中的任何错误信息的出现,从而保证do文件的运行不会因此中止。
接下来便是开启新的log文件的命令。
“log using”命令用来开启一个log文件,命令后面是log文件的路径和名称。
值得强调的是,Stata命令中出现文件的路径和名称时,可以用双引号包裹起来,也可以不用。
命令最后“replace”的意思是:如果在那个路径下已经存在一个这样的文件,那么新开启的log文件把原文件完全覆盖;如果你想在已经存在的log文件后面继续记录,可以把“replace”换成“append”。
log文件的操作还有其他常用命令。
直接运行“log”命令可以查询当前log文件的工作状态;“log off”命令可以暂停log文件的运行,就像把录像机暂时关掉;“log on”可以重新开始log文件的运行,就像重新开动录像机;如果想查看log文件记录的内容,可以在“view”命令后面加上log文件的路径和名称。
此外,点击图标栏的图标,也可以对log文件进行一系列的操作。
接下来就是导入数据、进行各种操作了。
后文会逐步介绍相关的内容。
那么,怎样写这样一个do文件呢?主要有两种方法:一、打开一个记事本文件,直接在里面编辑,编辑好之后另存为后缀名为“do”的文件即可。
二、用Stata 自身附带的do文件的编辑器进行编辑。
在Command框中输入“doed”,就可以打开do文件编辑器。
如果想编辑已经存在的do文件,需要在“doed”后面加上do文件的路径和名称。
另外,也可以直接点击Stata图标栏里的图标来编辑do文件。
编辑do文件的过程中,别忘了点击编辑器图标栏上的图标来保存编辑的成果。
如果用do文件编辑器编辑do文件,可以点击编辑器图标栏里的图标来试运行do文件(也可以运行“run”命令加do文件的路径和名称)。
试运行只会反馈do 文件中的错误,而不会显示do文件的运行结果,这便于对do文件的调试。
当do文件顺利通过试运行之后,便可以点击编辑器图标栏里的来正式运行(也可以运行“do”命令加do文件的路径和名称)。
正式运行会显示所有的运行结果。
此外,还可以通过Stata菜单栏中的“File Æ Do…”来运行一个do文件。
上面所讲的内容恐怕不易在短时间内被Stata的初学者(尤其是没有程序操作经历的初学者)完全接受。
但是大家应该试着从一开始就养成写do文件的好习惯,并在实践的过程中慢慢体会do文件的好处及其所涉及的各种操作。
三、怎样把数据导入Stata?想炒菜,得先把菜倒进锅里;同样,用Stata分析数据,得先把数据导入Stata。
Stata默认的数据文件是后缀名为“dta”的文件。
讲义附带的一个数据文件是“WAGE1.dta”,它可以直接用Stata打开。
打开的方式无非有以下几种:1、运行“use”命令加数据的路径和名称。
2、像上文中列出的do文件那样,先用“cd”命令进入数据所在的目录,然后用“use”命令直接加数据的名称来导入数据。
当要操作的许多的数据文件都在同一个目录下面时,用这样的方法导入数据比较方便——导入新数据时,只需改变“use”命令后的文件名即可,而不需改变数据的路径。
3、在菜单栏中选择“File Æ Open”,并选择数据所在的路径;4、点击图标栏的,并选择数据所在的路径。
在前两种方式中,“use”命令后面,往往需要加一个“clear”。
打个比方,想炒一锅新菜,得把原来的一锅菜倒出去;同样,想导入一个新数据,得把原来的数据清理出Stata。
“clear”就是把原来的数据清理出Stata的命令。
考虑到编辑do文件的需要,大家应掌握前两种数据导入方式。
通过一个do文件导入数据后,会看到如下的界面:我们看到,黑色区域显示出了do文件的所有操作及其结果。
Review框中显示出了曾经运行过的命令(打开do文件的命令);如果你想再次操作曾经操作过的命令,直接双击Review框中的相应命令即可,就不必重新输入一遍了。
Variable 框中显示的就是“WAGE1.dta”所包含的变量,有工资(wage),教育水平(educ)和工作经验(exper)等。
但是,当按照上述方法打开另一个数据文件“c04adult.dta”时(该文件为中国健康和营养调查的2004年的成人数据。
因为太大,没有和讲义附在一起),显示界面中出现了红色的错误信息:这几行提示告诉我们,没有足够的空间容纳数据;此外,还给出了三种可行的方案:1、更有效地存储和压缩数据,2、删掉某些变量或观测值,3、增大分配给该数据的空间。
一般来说,我们选择第3种方案。
毕竟,许多人不愿意“委屈”菜的质量和分量,那就换口大锅吧。
“换大锅”的命令是:set memory xxM。