您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 张文彤、赵耐青:Stata入门介绍
Stata入门介绍说明:(1)这里很可能有错误,如果产生不良影响,请见谅。(2)下面用红色注明的都是可执行的过程。(3)Stata要在使用中熟练的,大家应该多加练习。(4)Stata的很多细节,这里不可能涉及到,只是选取相对重要的部分加以解释,而且仅仅是入门性质。界面当我们把stata装好以后,首先需要了解的是它的界面。打开Stata后我们便可以看到它常用的四个窗口:StataResults;Review;Variables;StataCommand。我们所有的运行结果都会在StataResults界面中显示;而命令的输入则在StataCommand窗口;Review窗口记录我们使用过的命令;最后Variables窗口显示存在于当前数据库中的所有变量的名称。可以直接点击Review窗口来重新输入已使用过的命令,我们所需变量可以通过点击Varaibles窗口来得到,这些都可以简便我们的操作。Stata命令Stata软件功能强大,体现在它提供了丰富的命令,可以实现许多功能。每一个stata命令都相应的命令格式。我们在这里介绍常用的一些命令的功能和相应的格式,大家在使用stata的过程中也会不断积累相关的知识。命令格式可以用help命令查询。也可以在Help选项下content中寻找相关命令。使用help命令后,窗口中会有关于该命令的详尽说明。更直接的办法是看Examples中的范例是如何使用该命令,阅读一些相关的说明并加以模仿。重要习惯我们使用stata进行回归分析时,需要养成一些好的习惯。在进行一些数据量很大,过程复杂的分析时尤其重要。(1)使用日志(log)。它可以帮助我们记录stata的运行结果。格式:logusingc:\stata\logfiles\10.21.5_30.log(注意:我们需要先建好文件夹c:\stata\logfiles)关闭log的命令为“logclose”。格式:logclose那么“10.21.5_30.log”文件就记录了从“logusing”命令到“logclose”命令之间stata运行的所有结果。(2)Do-file。在command窗口输入命令的方式很受限制,我们使用工具栏中“Do-file-editor”(第8个)在Do-file中编程。在do-file文件中,用*表示注释内容,Stata在运行do-file时会跳过这些注释语句。加入注释语句能增强do-file的可读性。格式:*ThisisusedtoanalyzetherelationbetweenXandY.*Theresultwillbesavedinthedatafile:a.dta此外可以选中do-file部分命令让Stata只运行选中的部分。我们可以保存当前使用的do-file文件。Review窗口中的命令也可以保存为do-file。方法是右键点击Review窗口,选择SaveReviewContents。(3)存储数据。在分析一个大的数据库时,中途对数据有改动和删减,有必要在分析过程中将数据进行保存,可以用File选项中saveas..,同时还要为中途保存的数据文件写一个详尽的说明文件。打开数据文件我们用Stata做回归的第一步便是打开一个数据库。我们可以用工具栏“Open”(第1个),打开相应数据文件。Stata有自己的数据格式,我们课上一般会给大家Stata格式的数据库。有时候,我们手头的数据格式不符合Stata的格式,就需要用相关软件进行转换,比如transfer,对这个问题感兴趣的同学可以课后和我们联系。如果我们的数据是Excel格式,那么可以直接把里面的数据拷贝粘贴到Stata中:只需要点开数据工具栏“DataEditor”(第9个),就可以进行粘贴。打开数据以后我们可以用工具栏“DataBrowse”(第10个)浏览数据。浏览数据可以帮助我们了解具体每一个数据。要了解数据具有的特征,我们必须借助Stata命令。了解数据特征“describe”命令可以告诉我们每一个变量的含义。格式:describe具体了解各个变量,可以使用“Sum”,它将汇报数据的均值和方差等信息。格式:sumwagesumeducexper需要了解如“中位数”(median),我们可以进一步使用后缀detail。此时会详细报告百分比所对应的样本值。格式:sumwageeduc,detail此外Stata还提供了别的命令了解,如“table”,它将报告数据取值和相应的频率。“tabulate”(或简写为ta)是一个很有用的命令。与table相比,ta将进一步报告数据分布的百分比。格式:tablewagetaeduc很多时候,画图能够直观地看到数据分布和它们之间关系。比如我们可以“histogram”命令画出数据分布的柱状图(histogram)。格式:histogramwage“scatter”命令可以画出两个变量之间的分布关系。例如我们想直观的看到教育水平变化时工资的变化,可以用“scatter”命令或者“graphtwowayscatter”命令。格式:scatterwageeducgraphtwowayscatterwageeduc“graphtwoway”命令可以带别的后缀,例如“graphtwowayline”则画的是线状图。格式:graphtwowaylinewageeduc变量在分析的过程中,有些变量并没有在数据中提供,需要我们用原始数据或者回归的结果构造。常用的命令是“gen”和“egen”。格式geneducsqr=educ^2egen命令相对复杂一些,它能生成一些“gen”命令无法生成的变量。例如可以生成wagesum为每个人的工资和,以及生成wagemedian为工资的中位数(median),wagemax为工资的最大值。格式:egenwagesum=sum(wage)egenwagemedian=median(wage)egenwagemax=max(wage)更复杂的如想产生一个变量“wagemax”为相同教育水平里的最高工资。格式:egenwagemaxeduc=max(wage),by(educ)如果我们需要替换某一变量,我们可以用的命令是“replace”。格式:replacewagemax=wagereplacewagemax=1有时候我们在生成变量时可以加上一定条件,例如如果一个样本工资超过3,我们就定义它的变量wagehigh的取值为1,否则为0。格式:genwagehigh=1ifwage=10replacewagehigh=0ifwagehigh==.(注意是两个等号)我们也需要去掉过程中的暂用的变量,以方便我们浏览数据和重新定义变量。我们可以用drop命令。格式:dropeducsqrwagesumwagemedianwagemaxwagemaxeducwagehigh我们可以用“keep”或“drop”命令来删除一些样本,在删除之前,我们需要了解删除带来的影响,则可以用“count”命令来了解样本取值的情况。格式:countifwage100countifwage10我们可以用“sort”和“list”命令来了解数据分布的细节。例如我们想知道工资值从小到大排列在第50到70的样本的工资值。格式:sortwagelistwagein50/70如果我们想保留工资小于100的样本,可以有两种命令。格式:keepifwage100dropifwage=100有时我们关心变量之间的相关性,可以使用“correlate”命令,它将报告变量之间的相关系数。格式:correlatewageeducexpertenure回归现在我们以进入最重要的环节:回归分析。进行OLS回归的命令为“reg”。格式:regwageeducStataResults窗口将报告这一回归的相关结果:.regwageeducSource|SSdfMSNumberofobs=526---------------------------------------------------------------F(1,524)=103.36Model|1179.7320411179.73204ProbF=0.0000Residual|5980.6822552411.4135158R-squared=0.1648---------------------------------------------------------------AdjR-squared=0.1632Total|7160.4142952513.6388844RootMSE=3.3784----------------------------------------------------------------------------------------------------------------------wage|Coef.Std.Err.tP|t|[95%Conf.Interval]----------------------------------------------------------------------------------------------------------------------educ|.5413593.05324810.170.000.4367534.6459651_cons|-.9048516.6849678-1.320.187-2.250472.4407687----------------------------------------------------------------------------------------------------------------------..表格中最后两行报告回归的斜率和截距的系数,相应的标准差、t值和P值,同时给出95%的置信区间。在表格左上方,报告了回归的总变异、解释变异和残差变异。表格右上方报告回归的R方和调整后的R方。其中F是自变量所有的系数都为0(即自变量完全没有解释力)这样一个零假设对应的F分布值。回归会产生很多我们感兴趣的值,例如回归的拟合值以及回归的残差。Stata提供了predict命令帮助我们存储这些变量。例如我们把拟合值定义为wagehat,残差定义为wageresid。格式:predictwagehatpredictwageresid,re我们常常需要检验某一个零假设,例如在我们作了如下回归格式:regwageeducexpertenurenonwhitefemale之后,我们想要知道nonwhite的系数是否显著,我们可以直接看回归结果报告,也可以用test命令。格式:testnonwhitetest命令报告的结果为F值。而回归结果报告的为t值。它们之间是平方关系,而p值是一样的。对于更复杂的零假设,比如nonwhite和female是否同时为0。exper的系数和tenure的系数是否相等,则只能借助“test”命令。格式:testnonwhitefemaletestexper=tenure报告回归结果一般需要报告回归系数和相应的残差,同时报告系数的显著性。此外根据需要往往还要报告回归的拟合优度和使用的样本个数。对于回归系数的符号和大小变化,要给出相应的分析和解释。下面是一个报告回归结果的表格(摘自经济学论文)。其中括号里报告的是系数的方差,AllWomen和MarriedWomen表示两个总体,(1)(2)(3)对应不同的模型设定。Stata软件基本操作和数据分析入门第一讲Stata操作入门张文彤赵耐青第一节概况Stata最初由美国计算机资源中心(ComputerResourceCenter)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计
本文标题:张文彤、赵耐青:Stata入门介绍
链接地址:https://www.777doc.com/doc-4713014 .html