Stata*:论文中数据分析的一把利剑版本号:1.0中南财经政法大学STATA协会†学术组2013年4月18日摘要本文是写给那些没有用过Stata软件,同时又想在论文中有一些数据分析的本科生和研究生的,使其能在2个小时内掌握Stata软件最基本的分析功能,并能将结果按照学术论文的格式输出到Word等软件中。本文将一步步地为你展示如何用Stata软件来进行基础的数据分析,并演示生成高质量的描述统计表格、回归结果及统计图并将之在论文中报告出来的详细过程。由于Stata软件把EViews,SPSS的傻瓜式菜单和SAS的命令、编程完美结合起来,所以它受到了初学者和高级用户的普遍欢迎。Stata软件体积小巧、简单易懂且功能强大,相信它会帮助你完成数据分析及报告的任务,让你得到一篇高水准的论文。关键词:描述统计,计量模型,回归结果,数据分析,实证分析,论文写作目录1简介21.1Stata简介.................................................21.2Stata软件的安装及界面介绍......................................21.3Stata操作方法介绍...........................................21.4Do-file的使用...............................................41.5中文字符的支持..............................................52准备工作52.1数据的导入................................................52.2下载扩展包................................................73数据分析73.1描述性统计................................................83.2相关系数矩阵...............................................83.3最小二乘回归...............................................94结果报告104.1logout命令(统计表、相关系数矩阵表)...............................104.2esttab命令(最小二乘回归表).....................................115统计制图12*本文中所使用的Stata软件版本为:Stata/SE12.0forWindows(32-bit)†新浪微博名:stataclub。如果对本文有任何改进的意见,欢迎@stataclub或发私信给我们。1或120分钟搞定论文数据分析及结果输出1简介1.1Stata简介Stata与SPSS、SAS并称为当今三大统计软件。与后者相比,Stata体积小巧、简单易懂且功能强大。Stata把EViews,SPSS的傻瓜式菜单和SAS的命令、编程完美结合起来,所以它一推出就受到了初学者和高级用户的普遍欢迎。Stata不仅在统计方面功能齐全,其在计量分析领域更是有着深刻影响,以至于有人一言以蔽之:“关于学习Stata的意义,大家只需知道:目前,Stata是计量经济学,特别是微观计量经济学的主流软件。”[1]1.2Stata软件的安装及界面介绍下载好的Stata一般是绿色版压缩包,解压好后出现图1的文件夹即可。选中的StataSE.exe图标即为Stata软件,双击后得到图2的界面则说明打开了软件。图1:解压后的绿色版Stata12.0文件夹在图2中,中间最大一块为“结果显示窗口”,所有(除图片外)的结果都会在此处显示。其下面为“命令窗口”。它很扁的原因是Stata的语句一般都不长。左侧的“历史命令窗口”会显示之前的操作(红色命令行则说明操作有误),单击可将命令语句调入命令窗口,双击可直接运行;右侧上方为打开的数据库,两列分别为变量名(Variable)和标签(Label,即用于对变量进行说明),双击即可将变量名导入到命令窗口。右侧下方为变量详细特征。菜单栏中常用的为“Statistics”,即“统计分析”菜单,可做各种统计分析。快捷按钮中前两个为“打开数据”、“保存数据”,第7个至第9个分别为“打开Do-file窗口”、“编辑数据(Edit)”和“浏览数据(Browse)”。1.3Stata操作方法介绍在Stata中既可以使用类似EViews,SPSS的傻瓜式菜单的操作方式,也可以使用类似SAS的命令、编程的操作方式。以多元线性回归为例(见图3),Stata在进行回归时的三种操作方式如下:1.菜单式操作,即在菜单栏中选择Statistics选项,然后在里面选择相应的统计分析项目。此处做的是多元线性回归,那么在下拉菜单中选Linearmodelsandrelated中的Linearregression,然后填入相应的因变量(price)、自变量(mpg;weight)即可。故只要知道统计项目的英文名称,那么使用起来还是比较方便的;2图2:Stata12.0软件界面图3:Stata中的三种操作方式32.命令式操作,即在Stata软件界面下方的Command命令窗口直接输入命令进行操作。由于Stata的命令简洁方便,所以很多用户在一开始就接受了这种操作方式。同时,在使用菜单式操作时,Stata会在结果的上方输出对应的命令,所以这也帮助用户熟悉其命令格式。此处对于price=0+1mpg+2weight+的回归模型,Stata命令为:.regresspricempgweight3.Do-file编程式操作,即将若干条命令组合在一起,按需求加上一定的循环、条件语句而组成的程序,并运行。编程式操作一般是用户对命令非常熟悉时,并要完成批量或更为复杂的任务时所采用的操作方式。但是由于程序有很强的移植性,所以可以从其他人的Do-file程序中获取自己想要的,并进行局部修改即可为自己所用,而不必自己重新写代码。同时,Do-file文档可以保存为*.do的文本文件格式,方便修改和以后使用。由于此处只是一句命令语句,并不复杂,所以和命令式操作方式一致。总结一下:这三种操作方式为初学者和高级用户均提供了合适的环境,一般是逐层递进的。但是我们首推后两种操作方式,因为它们效率高,并有很强的移植性,即简单修改方可为我们所用。而且Do-file编程式操作方便修改和保存。故我们后续介绍以后两种方式为主。1.4Do-file的使用由于Do-file编程式操作的诸多优点,故对其进行详细介绍。在图2的快捷按钮中选择第七个(即图中英文字母“D”上面的那个)打开Do-file编辑器。我们打开一个Do-file窗口,并输入一些Stata命令,如图4所示。图4:Stata的Do-file窗口在图4中,如要运行某几行命令语句(必须是连续的),则需要先选中语句,然后点击右上方的“Execute(do)”按钮运行;如果不选中语句而直接点击“Execute(do)”按钮,则会运行此Do-file中所有命令语句。注意,运行完Do-file后的结果依然是在“结果显示窗口”(见图2)显示的,故点击按钮后不要傻傻地在Do-file窗口等着。还需要说明的是,程序中绿色部分为注释语句1,一般用于做标注2。若要注释某行语句可以以“*”、“//”(不包括引号)开始(如图4中第1行),这样会注释单行;若要注释多行,请将注释内容置于“/*”和“*/”(不包括引号)中(如图4中第10行)。注意:三个斜杠“///”(不包括引号)并不是注释的意思,而是告诉Stata此语句没有写完(如图4中第7行)。这一般在写长语句时为了层次分明而用。如果要保存Do-file编程结果,可在Do-file窗口选择第三个保存命令。保存的文件的扩展名为*.do,此类文件可在下一次打开Do-file窗口后打开,也可用记事本打开。1给程序做注释是一个好习惯,因为程序如果写长,其可读性就会变弱。如果在程序命令行后及时做注释,不仅能让程序编写者思路清晰,方便修改、维护及查漏补缺,同时也方便了他人的阅读。2如果你看到某些程序中有些语句被故意地注释掉,那么请不要惊讶为什么这些语句没有被删掉,因为这些语句有可能是程序编写者故意留下来的。其原因可能为:(1)此语句与前后某语句类似,即提供另一种实现方案;(2)此语句与其他语句冲突,但是稍作修改即可使用;(3)程序编写者编写时灵光一现写下的语句,这意味着之后的编写有可能会用得到。41.5中文字符的支持Stata对中文字符的支持力度不够3,所以在下面的地方需要做适当调整:•显示窗口。若中文显示为乱码,请按图5的方法修改设置,即在GeneralPreferences对话框中将ColorScheme改为Simple即可;•Do-file。在Do-file窗口中输入、粘贴中文字符没问题。但是若在Do-file窗口中修改中文字符,那么一个字符要按两次删除键(“Backspace”键)才能将其删除,否则会出现乱码。这是中文字符在Stata中储存方式的原因,初学者不必深究。图5:Stata显示窗口中文字符显示乱码的调整办法2准备工作2.1数据的导入数据分析的第一步是要有数据。一般我们的数据都是在Excel表格中,对于英文界面的Stata软件,也许导入数据就够读者头痛的了。下面介绍最简单4的导入方法。Excel数据(*.xls/*.xlsx)此类数据最常见。我们一般操作步骤为:1.打开Excel,如图6-(a)。删除第一行的中文变量名,并修改成自定义的英文变量名5,如图6-(b);2.选中第一行变量名及需要导入的数据(一般“全选”即可),按“复制”;3.在Stata中按快捷键第8个打开数据编辑窗口6,右键后按“粘贴”(或快捷键“Ctrl+V”),如图6-(c)。此时Stata会询问第一行的数据是否视作变量名,点击“Treatfirstrowasvariablenames”即可自动将第一行英文字符作为变量名并将余下数据导入至Stata中,如图6-(d)。此时数值变量默认为黑色,字符变量默认为红色。注意:如果数据类型不统一,或是有非法字符(比如“#”,“=”等),那么导入的时候会出现问题。建议数据在导入Stata前需用Excel做预处理。3估计对中国市场重视程度不高,应该今后的版本会改进4“最简单”指的是在不涉及到批量导入、特殊类型数据导入的情况下导入数据的方法。5变量名不能有空格,且尽可能地简单。一般我们会采用变量英文字母的缩写,如“股票价格(StockCode)”缩写为“stkcd”,“收盘价(ClosingPrice)”缩写为“clsprc”。6或直接在命令窗口输入edit命令并按回车。5(a)在Excel中打开数据文件(b)将第一行变量名改为英文(c)在Stata数据编辑窗口右键按“粘贴”(“Paste”)(d)导入Stata后的数据图6:Excel型数据的导入(a)在记事本中打开*.csv数据文件(b)将第一行变量名改为英文(c)特殊粘贴对话框(d)导入Stata后的数据图7:逗号分隔型数据的导入6制表符、逗号分隔型数据(*.txt/*.csv)及其他类型数据此类数据导入至Stata的方法类似,以逗号分隔型数据(*.csv)为例,步骤如下:1.用记事本打开*.csv数据文件,如图7-(a)。删除第一行的中文变量名,并修改成自定义的英文变量名,如图7-(b);2.选中第一行变量名及需要导入的数据(一般“全选”即可),按“复制”;3.在Stata中打开数据编辑窗口,此处右键后选择“特殊粘贴”(或快捷键“Ctrl+Alt+V”),然后弹出对话框如图7-(c)。在窗口左侧显示多种数据分隔方式,可分别处理多种分隔格式的数据。如果剪贴板中的源数据是逗号分隔的,那么默认是“逗号(Comma)”分隔形式。右侧有众多选项,此处我们还是勾选“Treatfirstrowasvariablenames”