Stata操作讲义知识讲解

Stata操作讲义知识讲解
Stata操作讲义知识讲解

S t a t a操作讲义

Stata操作讲义

第一讲 Stata操作入门

第一节概况

Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。

Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才和磁盘交换数据,因此运算速度极快。

由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。

除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。

Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。

由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。

第二节 Stata操作入门

一、Stata的界面

图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下:

1.结果窗口

位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。

2.命令窗口

位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。

3.命令回顾窗口

即review窗口,位于界面左上方,所有执行过的命令会依次在该窗口中列出,单击后命令即被自动拷贝到命令窗口中;如果需要重复执行,用鼠标双击相应的命令即可。

4.变量名窗口

位于界面左下方,列出当前数据及中的所有变量名称。

除以上四个默认打开的窗口外,在Stata中还有数据编辑窗口、程序文件编辑窗口、帮助窗口、绘图窗口、Log窗口等,如果需要使用,可以用Window或Help菜单将其打开。

二、数据的录入与储存

Stata为用户提供了简捷,但是非常完善的数据接口,熟悉它的用法是使用Stata的第一步,在Stata中读入数据可以有三种方式:直接从键盘输入、打开已有数据文件和拷贝、粘贴方式交互数据。

(1)从键盘输入数据

在Stata中可以使用命令行方式直接建立数据集,首先使用input命令制定相应的变量名称,然后一次录入数据,最后使用end语句表明数据录入结束。

例1 在某实验中得到如下数据,请在Stata中建立数据集。

观测数据:X 1 3 5 7 9 ,Y 2 4 6 8 10

解:此处需要建立两个变量X、Y,分别录入相应数值,Stata中的操作如下,其中划线部分为操作者输入部分。

(2)用Stata的数据编辑工具

②数据编辑

Stata 数据编辑器界面:此时进入了数据全屏幕编辑状态。

图3

在第一列输入数据后,Stata第一列自动命名为var1;在第二列输入数据后,第二列自动命名为var2……依次类推。在输入数据后,双击纵格顶端的变量名栏(如:Var1或

Var2处),可以更改变量名,并可以在label栏中注释变量名的含义,点击确认(如图

4所示)。仍沿用上例,双击观察值所在列顶端的变量名栏,更改变量名为x,并在label栏中注明“7岁男童身高/cm”。

数据输入完毕后,单击键确认所输数据,按关闭键即可退出编辑器。

数据输入完毕后,单击认所输数据,按关闭键即可退出编辑器。

(3)拷贝、粘贴方式交互数据

Stata的数据编辑窗口是一个简单的电子表格,可以使用拷贝、粘贴方式直接和EXCEL等软件交互数据,在数据量不大时,这种方式操作极为方便。

例2 现在EXCEL中已录入了三个变量,共五条记录,格式见下图,请将数据读入Stata。

解:首先将EXCEL中的A1-C6全部18个单元格选中,选择菜单编辑è复制,将数据拷贝到剪贴板上;然后切换到Stata,选择菜单Window->Data Editor,打开数据编辑窗口;再选择Edit->Paste,相应的数据就会被直接粘贴如数据编辑窗口中,并且变量名、记录数、变量格式等均会被自动正确设置,见图6和图7。

(4)打开已有的数据文件

Stata能够直接打开的数据文件只能是自身专用格式或者以符号分隔的纯文本格式,后者第一行可以是变量名,分述如下:

①点击图标,然后选择路径和文件名,可以打开Stata专用格式的数据文件,并且扩展名为.dta。

②打开Dta数据文件:该格式文件是Stata的专用格式数据文件,也使用use命令即可打开,例如要打开数据文件“C:\data1.dta”,则命令为:

. use c:\data1

即扩展名可以省略,如果Stata中已经修改或者建立了数据集,则需要使用clear选项清除原有数据,命令为:

. use c:\data1 , clear

②读入文本格式数据:需要使用insheet命令实现,例如需要读入已建立好的文本格式数据文件“C:\data1.txt”,则命令为:

. insheet using c:\data1.txt

该命令会自动识别第一行是否为变量名,以及变量列间的分隔符是tab、逗号还是其他字符。如果Stata中已经修改或者建立了数据集,则需要使用clear选项清除原有数据,命令为:

. insheet using c:\data1.txt , clear

(5)数据文件的保存

为了方便以后重复使用,输入Stata的数据应存盘。Stata实际上只能将数据存为自身专用的数据格式或者纯文本格式,分述如下:

①点击图标,然后选择路径和文件名,点击。

②存为dta格式:可以直接使用文件菜单,也可以使用save命令操作,如欲将上面建立的数据文件存入“C:\”中,文件名为Data1.dta,则命令为:

. save c:\data1

file c:\data1.dta saved

该指令将在C盘根目录建立一个名为“data1.dta”的Stata数据文件,后缀dta可以在命令中省略,会被自动添加。该文件只能在Stata中用use命令打开。如所指定的文件已经存在,则该命令将给出如下信息:file c:\data1.dta already exists,告诉用户在该目标盘及子目录中已有相同的文件名存在。如欲覆盖已有文件,则加选择项replace。命令及结果如下:

. save c:\data1.dta , replace

file c:\data1.dta saved

3.存为文本格式:需要使用outsheet命令实现,该命令的基本格式如下。

outsheet [变量名列表] using 文件名 [, nonames replace ]

其中变量名列表如果省略,则将全部变量存入指定文件。如欲将上面建立的数据文件存入文本文件“C:\data1.txt”中,则命令为:

. outsheet using c:\data1.txt

此时建立的文件data1.txt第一行为变量名,第2-6行为变量值。变量列间用Tab键分隔。如果不希望在第一行存储变量名,则可以使用nonames选项。如果文件已经存在,则需要使用replace选项。

第二讲统计描述入门

例调查某市1998年110名19岁男性青年的身高/cm资料如下,计算均数、标准差、中位数、百分位数和频数表。

Stata数据结构(读者可以把数据直接粘贴到Stata的Edit窗口)

在介绍统计分析命令之前,先介绍打开一个保存统计分析结果的文件操作:

计算样本的均数、标准差、最大值和最小值

命令1:su 变量名 (可以多个变量:即:su 变量名1 变量名2 …变量名m)命令2:su 变量名,d (可以多个变量:即:su 变量名1 变量名2 …变量名m,d)本例命令su x

本例命令. su x,d

计算百分位数还可以用专用命令centile。

centile 变量名(可以多个变量),centile(要计算的百分位数) 例如计算P2.5,P97.5等centile 变量名,centile(2.5 97.5)

本例计算P2.5,P97.5,P50,P25,P75。

本例命令. centile x,centile(2.5 25 50 75 97.5)

制作频数表,组距为2,从164开始,

gen f=int((x-164)/2)*2+164 其中int( )表示取整数 tab f 频数汇总和频率计算

作频数图

命令 graph 变量,bin(#) norm

其中#表示频数图的组数;norm表示画一条相应的正态曲线(可以不要)本例命令为graph x,bin(8) norm

为了使坐标更清楚地在图上显示,可以输入下列命令

graph x,bin(8) xlabel norm ylabel

图形可以从Stata中复制到word中来,操作如下:

然后到Word中粘贴和编辑,便可以得到所需要的图形。

计算几何均数可以用means 变量名(可以多个变量:即:means 变量1 …变量m) means x

Arithmetic(算术均数) Geometric(几何均数) 调和均数(Harmonic)

作Pie图描述构成比:每一类的频数用一个变量表示,命令:

graph 各类频数变量名,pie

例:下列有2个地区的血型频数分布数据,请用Pie描述:

第1地区血型构成比的Pie图的命令和图

graph a b o ab if area==1,pie

注意逻辑表达式中if area==1是两个等号。

第2地区血型构成比的Pie图的命令和图

graph a b o ab if area==2,pie

两个地区合并后的血型构成比的Pie图的命令和图

正态性检验. swilk 变量名1 变量名2 …变量名m

在上例中的110名19岁男性青年的身高资料正态性检验如下: . swilk x

无效假设H0:资料服从正态分布

备选假设H1:资料不服从正态分布

设α=0.05 (样本比较大时,α取0.05,样本很小时,α取0.1)

因此可以认为资料近似服从正态分布。

计量资料统计描述的主要策略小结

若资料近似正态分布,则用均数±标准差描述

若资料偏态分布(频数图明显不对称),则用中位数(P25——P75)描述

P25——P75称为四分位数范围(Inter-quartile range,IQR)

但在一些临床试验资料统计分析时,往往给出样本均数、标准差、中位数、四分位数范围、最小值和最大值,但对结果的主要解释按照上述策略进行进行。

第三讲概率分布和抽样分布

概率分布累积函数

1. 标准正态分布累积函数norm(X)

2. t分布右侧累积函数ttail(df,X) ,其中df是自由度

3. χ2分布累积函数chi2(df,X) ,其中df是自由度

4. χ2分布右侧累积函数chi2tail(df,X) ,其中df是自由度

5. F分布累积函数F(df1,df2,X),df1为分子自由度,df2为分母自由度

6. F分布右侧累积函数F(df1,df2,X),df1为分子自由度,df2为分母自由度

累积函数的计算使用

stata save命令 FileSave As 例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。 STATA数据库的维护 排序 SORT 变量名1 变量名2 …… 变量更名 rename 原变量名新变量名 STATA数据库的维护 删除变量或记录 drop x1 x2 /* 删除变量x1和x2 drop x1-x5 /* 删除数据库中介于x1和x5间的所有变量(包括x1和x5) drop if x<0 /* 删去x1<0的所有记录 drop in 10/12 /* 删去第10~12个记录 drop if x==. /* 删去x为缺失值的所有记录 drop if x==.|y==. /* 删去x或y之一为缺失值的所有记录 drop if x==.&y==. /* 删去x和y同时为缺失值的所有记录 drop _all /* 删掉数据库中所有变量和数据 STATA的变量赋值 用generate产生新变量 generate 新变量=表达式 generate bh=_n /* 将数据库的内部编号赋给变量bh。 generate group=int((_n-1)/5)+1 /* 按当前数据库的顺序,依次产生5个1,5个2,5个3……。直到数据库结束。 generate block=mod(_n,6) /* 按当前数据库的顺序,依次产生1,2,3,4,5,0。generate y=log(x) if x>0 /* 产生新变量y,其值为所有x>0的对数值log(x),当x<=0时,用缺失值代替。 egen产生新变量 set obs 12 egen a=seq() /*产生1到N的自然数 egen b=seq(),b(3) /*产生一个序列,每个元素重复#次 egen c=seq(),to(4) /*产生多个序列,每个序列从1到# egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2 encode 字符变量名,gen(新数值变量名) 作用:将字符型变量转化为数值变量。 STATA数据库的维护 保留变量或记录 keep in 10/20 /* 保留第10~20个记录,其余记录删除 keep x1-x5 /* 保留数据库中介于x1和x5间的所有变量(包括x1和x5),其余变量删除keep if x>0 /* 保留x>0的所有记录,其余记录删除

STATA 面板数据模型估计命令一览表 一、静态面板数据的STATA 处理命令 εαβit ++=x y it i it 固定效应模型 μβit +=x y it it ε αμit +=it it 随机效应模型 (一)数据处理 输入数据 ●tsset code year 该命令是将数据定义为“面板”形式 ●xtdes 该命令是了解面板数据结构 ●summarize sq cpi unem g se5 ln 各变量的描述性统计(统计分析) ●gen lag_y=L.y /////// 产生一个滞后一期的新变量

gen F_y=F.y /////// 产生一个超前项的新变量 gen D_y=D.y /////// 产生一个一阶差分的新变量 gen D2_y=D2.y /////// 产生一个二阶差分的新变量 (二)模型的筛选和检验 ●1、检验个体效应(混合效应还是固定效应)(原假设:使用OLS混合模型)●xtreg sq cpi unem g se5 ln,fe 对于固定效应模型而言,回归结果中最后一行汇报的F统计量便在于检验所有的个体效应整体上显著。在我们这个例子中发现F统计量的概率为0.0000,检验结果表明固定效应模型优于混合OLS模型。 ●2、检验时间效应(混合效应还是随机效应)(检验方法:LM统计量) (原假设:使用OLS混合模型) ●qui xtreg sq cpi unem g se5 ln,re (加上“qui”之后第一幅图将不会呈现) xttest0

可以看出,LM检验得到的P值为0.0000,表明随机效应非常显著。可见,随机效应模型也优于混合OLS模型。 ●3、检验固定效应模型or随机效应模型(检验方法:Hausman检验) 原假设:使用随机效应模型(个体效应与解释变量无关) 通过上面分析,可以发现当模型加入了个体效应的时候,将显著优于截距项为常数假设条件下的混合OLS模型。但是无法明确区分FE or RE的优劣,这需要进行接下来的检验,如下: Step1:估计固定效应模型,存储估计结果 Step2:估计随机效应模型,存储估计结果 Step3:进行Hausman检验 ●qui xtreg sq cpi unem g se5 ln,fe est store fe qui xtreg sq cpi unem g se5 ln,re est store re hausman fe (或者更优的是hausman fe,sigmamore/ sigmaless) 可以看出,hausman检验的P值为0.0000,拒绝了原假设,认为随机效应模型的基本假设得不到满足。此时,需要采用工具变量法和是使用固定效应模型。

Stata12 软件的基本设定 如果你已经安装了stata12,请直接跳到(6)。 ( 1)将StataSE12.1绿色版.7z解压到D盘根目录,即D:\stata12(注意:是D:\stata12,而 非D:\stata12 \stata12,另外, stata12 是小写)。 (下载地址: https://www.360docs.net/doc/e117952665.html,/share/link?shareid=2683949182&uk=3523563089) (2)打开stata12:双击图1中带有蓝色阴影的图标即可。1 图 1stata12 放置界面 (3)关于更新 A 、首次打开 stata12,会弹出对话框,询问你是否需要更新。如果不需要更新,请按下 图进行设定: 图 2首次打开stata12 时的更新设定B(、为了节省时间,这一步可以跳过,对于一般用户而言,更新与否不会影响你的使 用效果)如需把stata12 更新到最新版本,请在command窗口中输入updateal l命令。更新过程大概需要几分钟到几十分钟不等。特别注意的是,更新完毕后,你一定要输入如下 命令,才算是真正完成了stata 的更新: updateswap。这个命令的作用是用新下载的文件覆盖 旧文件。忘记这一步,往往会导致你的stata 丢失变量或出现一些奇怪的现象。 1 你也可以右击这个图标,然后选择“附加到开始菜单”。这样 stata12 的 logo 就会出现在开始 菜单中,每次启动 stata12 就只需从“开始”菜单中单击这个 logo 即可。

(4)关于profile.do文件。每次启动stata12 时,它会自动执行D:\stata12 文件夹下的 profile.do文件,该文件中包含了一系列命令,用于设定stata所占用的内存,各种 文件路径的位置等信息。如果你是按照上述要求放置stata12 文件的,那么启动 stata12 后,屏幕上应该显示如下信息(否则你要检查文件名的拼写是否正确):running stata12 profi le .do... ( 5)如果你的计算机分区中没有 D 盘,你也可以把stata12 放置于其他盘符下,但需要做一些微小的调整。这里以 F 盘为例,也可以是C, H, K 等其他盘 ①.将 stata12 解压后放置于 F 盘下,即F:\stata12 。注意: stata 是小写。 ②.修改 profile.do 文件,具体方法为 : Step1: 输入 doedit F:\stata12 \prof il e. do命令,打开 profile.do 文件; Step2:将第六行 中的 localD"D" 命令修改为 l ocal D"F"; Step3:保存 profile.do文件,退出stata12,然后重启即可。 ③.若上述设定无误,则在重新打开stata12 后,屏幕第一行会显示如下信息: running stata12profi le .d o... 同时,输入sysdir命令,屏幕上会呈现如下信息( 此时你才能正确使用外部命令): .sy sdir STATA: F stata12 UPDATES: F stata12 \ado\updat BASE: F stata12 \ado\bas SIT E: F stata12 \ado\s it PLUS: F stata12 \ado\p PERSONAL: F stata12 \ado\personal PartII :课件的使用方法 Q1. 如何打开课堂上使用的do 文档? A:请将PX_aufe.rar压缩包解压到D:\stata12\ado\personal 文件夹中,即 D:\stata12\ado\personal\PX_aufe 。若希望练习第一讲中的相关操作,可依次执行如下命令:Step1:在STATA命令窗口中输入cdD:\stata12\ado\personal\PX_aufe命令,定义当前工作 路径(会显示在 STATA 屏幕左下角); Step2:输入doedit xB01_Panel_Data命令,即可打开第一讲的讲义 xB01_Panel_Data.do 文件。当然,我们也可以通过点击菜单的方式完成 上述操作,步骤如下: Step1:在 STATA 主菜单中点击 “ Newdo-fileEditor ”图标; Step2:在第一步中弹出的“ Do-fileEditor”窗口中点击“O pen”图标,然后到D:\stata12\ado\personal\PX_aufe文件夹下,双击“ xB01_Panel_Data”文件即可打开之。 B:在练习之前,请先执行如下命令,以便进入第一讲所在目录,本讲中使用的所有数 据文件和相关文档都存放于该目录下。请选中下图中第 34-37 行的命令,点击菜单条中第二行中 带有蓝色阴影的按钮( ExecuteSelection(do) ,快捷键为 Ctrl+D )。

Stata 命令语句格式: [by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options] 1、[by varlist:] *如果需要分别知道国产车和进口车的价格和重量,可以采用分类操作来求得, sort foreign //按国产车和进口车排序 . by foreign: sum price weight *更简略的方式是把两个命令用一个组合命令来写。 . by foreign, sort: sum price weight 如果不想从小到大排序,而是从大到小排序,其命令为gsort。 . sort - price //按价格从高到低排序 . sort foreign -price /*先把国产车都排在前,进口车排在后面,然后在国产车内再按价格从大小到排序,在进口车内部,也按从大到小排序*/ 2、[=exp]赋值运算 . gen nprice=price+10 //生成新变量nprice,其值为price+10 /*上面的命令generate(略写为gen) 生成一个新的变量,新变量的变量名为 nprice,新的价格在原价格的基础上均增加了10 元。 . replace nprice=nprice-10 /*命令replace 则直接改变原变量的赋值,nprice 调减后与price 变量取值相等*/ 3、[if exp]条件表达式 . list make price if foreign==0 *只查看价格超过1 万元的进口车(同时满足两个条件),则 . list make price if foreign==1 & price>10000 *查看价格超过1 万元或者进口车(两个条件任满足一个) . list make price if foreign==1 | price>10000 4、[in range]范围筛选 sum price in 1/5 注意“1/5”中,斜杠不是除号,而是从1 到 5 的意思,即1,2,3,4,5。 如果要计算前10 台车中的国产车的平均价格,则可将范围和条件筛选联合使用。 . sum price in 1/10 if foreign==0 5、[weight] 加权 sum score [weight=num] 其中,num为每个成绩所对应的人数 6、[, options]其他可选项 例如,我们不仅要计算平均成绩,还想知道成绩的中值,方差,偏度和峰度等*/ . sum score, detail . sum score, d //d 为detail 的略写,两个命令完全等价 . list price, nohead //不要表头 Stata 数据类型转换 1、字符型转化成数值型 destring, replace //全部转换为数值型,replace 表示将原来的变量(值)更新 destring date, replace ignore(“ ”) 将字符型数据转换为数值型数据:去掉字符间的空格destring price percent, gen(price2 percent2) ignore(“$ ,%”) 与date 变量类似,变量price 前面有美元符号,变量percent 后有百分号,换为数值型时需要忽略这些非数值型字符 2、数值型转化为字符型

Stata简明讲义 王非 中国经济研究中心 ebwf@https://www.360docs.net/doc/e117952665.html,

〇、写在前面的话 关于学习Stata的意义,大家只需知道:目前,Stata是计量经济学、特别是微观计量经济学的主流软件。因此,Stata很重要、很有用,而大家也会在使用Stata 的过程中慢慢体会到它的特点。 本讲义取名为“Stata简明讲义”,意在突出“简”和“明”两个字。虽然讲义长达五十多页,但相比Stata的完全手册来说,还不及九牛之一毛,故为“简”。实际上,完全手册中的很多内容都鲜有人(特别是计量经济学者)问津,而本讲义列出的内容则是大家经常用到的操作;所以,“简”也有“简”的好处。即便如此,掌握这份讲义也并非易事。所谓“明”,是明晰的意思。本讲义本着“手把手教”的精神,力求把每项操作都说得具体明晰,以方便初学者(特别是没有程序操作经历的初学者)尽快上手。至于本讲义在“简明”上做得怎么样,还需要各位读者来评判。 中心的一位学长邹传伟,曾经写过一份“Stata介绍”,在网上可以下载。那份讲义比较全面,但不够具体明晰。本讲义参照那份讲义,在框架上查漏补缺,并进一步地明晰化。本讲义第二部分的“do文件”和第七部分的“残差分析”的相关内容均来自于中心的沈艳老师的相关讲义,而沈老师对于本讲义的成形给予了细致的指导。本讲义附带了一些数据文件,其中“WAGE1.dta”和“WAGEPRC.dta”均来自Wooldridge的中级计量教材的数据集,而其他数据则为作者自己的杜撰。尽管从别人那里拿来了许多好东西,但本讲义的任何错误仍源于作者自己的疏忽。 本讲义是这样安排的:第一部分讲Stata的界面,第二部分讲do文件,第三部分讲怎样把数据导入Stata,第四部分专门讲help和search命令以及帮助文件的阅读方法,第五部分讲数据的描述及管理,第六部分讲如何画图,第七部分讲初步的回归分析。

Stata软件基本操作和数据分析入门 第一讲Stata操作入门 张文彤赵耐青 第一节概况 Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。 Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才和磁盘交换数据,因此运算速度极快。 由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。

除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。 Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。 由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。 第二节Stata操作入门 一、Stata的界面 图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下: 1.结果窗口:位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。 2.命令窗口:位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。

stata11 常用命令 注:JB统计量对应的p大于0.05 ,则表明非正态,这点跟sktest 和 swilk 检验刚好相反;dta 为数据文件;gph 为图文件;do 为程序文件;注 意stata 要区别大小写;不得用作用户变量名: _all _n _N _skip _b _coef _cons _pi _pred _rc _weight double float long int in if using with 命令:读入数据一种方式 input x y 14 2 5.5 3 6.2 47.7 58.5 end su/summarise/sum x 或su/summarise/sum x,d 对分组的描述: sort group by group:su x %%%%% tabstat economy,stats(max)%返回变量economy的最大值 %%stats括号里可以是:mean,count(非缺失观测值个数),sum(总 和),max,min,range , %% sd ,var ,cv(变易系数=标准差/ 均值),skewness,kurtosis , median,p1(1 %分位 %% 数,类似地有p10, p25, p50, p75, p95, p99),iqr(interquantile range = p75 –p25) _all %描述全部 _N 数据库中观察值的总个数。 _n 当前观察值的位置。 _pi 圆周率π 的数值。 list gen/generate % 产生数列egen wagemax=max(wage) clear use by(分组变量)

线性相关和回归 赵耐青 在实际研究中,经常要考察两个指标之间的关系,即:相关性。现以体重与身高的关系为例,分析两个变量之间的相关性。要求身高和体重呈双正态分布,既:在身高和体重平均数的附近的频数较多,远离身高和体重平均数的频数较少。 样本相关系数计算公式(称为Pearson 相关系数): ) () () )((2 2 YY XX XY 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.0 175.0 74.0 172.0 68.0 170.0 64.0 173.0 68.5 168.0 56.0 172.0 54.0 170.0 62.0 172.0 63.0 173.0 67.0 168.0 60.0 171.0 68.0 172.0 76.0 173.0 65.0 Stata命令pwcorr 变量1 变量2 …变量m,sig 本例命令pwcorr x y,sig pwcorr x y,sig Pearson相关系数=0.5994,P值=0.0182<0.05,因此可以认为身高与体重呈正线性相关。

[推荐] Stata基本操作汇总——常用命令 help和search都是查找帮助文件的命令,它们之间的 区别在于help用于查找精确的命令名,而search是模糊查找。 如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在stata的命令行窗口中输入help空格加上这个名字。回车后结果屏幕上就会显示出这个命令的帮助文件的全部 内容。如果你想知道在stata下做某个估计或某种计算,而 不知道具体该如何实现,就需要用search命令了。使用的 方法和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和这个关键词相关的帮助文件名 和链接列表。在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实验,通常可以较快地找到你需要的内容.下面该正式处理数据了。我的处理数据经验是最好能用stata的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在stata 窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出

现“bring do-file editor to front”,点击它就会出现do文件编 辑器。 为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。capture clear (清空内存中的数据)capture log close (关闭所有 打开的日志文件)set more off (关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。)set matsize 4000 (设置矩阵的最大阶数。我用的是不是太大了?)cd D: (进入数据所在的盘符和文件夹。和dos的命令行很相似。)log using (文件名).log,replace (打开日志文件,并更新。日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。)use (文件名),clear (打开数据文件。)(文件内容)log close (关闭日志文件。)exit,clear (退出并清空内存中的数据。) 实证工作中往往接触的是原始数据。这些数据没有经过整理,有一些错漏和不统一的地方。比如,对某个变量的缺失观察值,有时会用点,有时会用-9,-99等来表示。回归时如果 使用这些观察,往往得出非常错误的结果。还有,在不同的数据文件中,相同变量有时使用的变量名不同,会给合并数

文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持. 第一章接触STATA 小而功能强大;数据存储在内存中,运算速度快;语法简单,结果易读;可编程?cd [direction] /*调整默认目录,当路径中存在空格时要加引号*/ ?set memory [number]/*内存设定,默认单位为KB,可自定MB*/ ?exit /*退出*/ 第二章STATA命令 [prefix:]command[varlist] [=exp.] [if exp.] [using filename] [in range] [weigh:] [, options] 命令前缀命令变量串表达式条件式使用文件个案范围权重选项?var | var#-var## | var* /*表示单变量、多变量、以var开头的变量*/ ?in # | in -# | in #/## /*表示第#个、倒数第#个、从第#到第##个变量*/ ?help commandname/*帮助*/ 第三章使用STATA数据文件 一、读取数据 ?use filename [, clear] /*读取全部数据,选项clear表示清空内存*/ ?use var1 var#using filename /*将数据部分变量读进内存*/ ?use in #/## using filename /*将数据部分个案读进内存*/ ?use if var==# using filename /*将数据特定个案读进内存*/ ?use filename if var==# /*同上*/ 二、数据的标签与注释 ?label data “text”/*标签用于对数据整体的说明,这是贴标签的命令*/ 1文档来源为:从网络收集整理.word版本可编辑.

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。其中常用的有Open, Save, Do-file Editor, Data Editor和Data Browser(图1中已用圆圈标出)。它们的使用办法将在下文介绍。 工具栏上方是菜单栏。其中最常用的是Help菜单。 界面左下角显示了Stata的默认路径。Stata使用的数据文件一般存放在该路径下。

*********面板数据计量分析与软件实现********* 说明:以下do文件相当一部分内容来自于中山大学连玉君STATA教程,感谢他的贡献。本人做了一定的修改与筛选。 *----------面板数据模型 * 1.静态面板模型:FE 和RE * 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估计) * 3.异方差、序列相关和截面相关检验 * 4.动态面板模型(DID-GMM,SYS-GMM) * 5.面板随机前沿模型 * 6.面板协整分析(FMOLS,DOLS) *** 说明:1-5均用STATA软件实现, 6用GAUSS软件实现。 * 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA) *** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,侧重于比较C-D与Translog生产函数,一步法与两步法的区别。常应用于地区经济差异、FDI溢出效应(Spillovers Effect)、工业行业效率状况等。 * 空间计量分析:SLM模型与SEM模型 *说明:STATA与Matlab结合使用。常应用于空间溢出效应(R&D)、财政分权、地方政府公共行为等。 * --------------------------------- * --------一、常用的数据处理与作图----------- * --------------------------------- * 指定面板格式 xtset id year (id为截面名称,year为时间名称) xtdes /*数据特征*/ xtsum logy h /*数据统计特征*/ sum logy h /*数据统计特征*/ *添加标签或更改变量名 label var h "人力资本" rename h hum *排序 sort id year /*是以STATA面板数据格式出现*/ sort year id /*是以DEA格式出现*/ *删除个别年份或省份 drop if year<1992 drop if id==2 /*注意用==*/ *如何得到连续year或id编号(当完成上述操作时,year或id就不连续,为形成panel格式,需要用egen命令) egen year_new=group(year) xtset id year_new **保留变量或保留观测值 keep inv /*删除变量*/ **或 keep if year==2000 **排序 sort id year /*是以STATA面板数据格式出现 sort year id /*是以DEA格式出现 **长数据和宽数据的转换 *长>>>宽数据 reshape wide logy,i(id) j(year)

第一讲Stata操作入门 第一节概况 Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来 越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。 Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才 和磁盘交换数据,因此运算速度极快。 由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同 一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹 服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。 除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。 Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。 事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。 由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。 第二节Stata操作入门 一、Stata的界面 图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下: 1.结果窗口 位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。

常用到的sta命令 闲话不说了。help和search都是查找帮助文件的命令,它们之间的区别在于help用于查找精确的命令名,而search是模糊查找。如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在sta的命令行窗口中输入help空格加上这个名字。回车后结果屏幕上就会显示出这个命令的帮助文件的全部内容。如果你想知道在sta下做某个估计或某种计算,而不知道具体该如何实现,就需要用search命令了。使用的方法和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和这个关键词相关的帮助文件名和链接列表。在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实验,通常可以较快地找到你需要的内容。 下面该正式处理数据了。我的处理数据经验是最好能用sta的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在sta窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出现“bring do-file editor to front”,点击它就会出现do文件编辑器。 为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。 /*(标签。简单记下文件的使命。)*/ capture clear(清空内存中的数据) capture log close(关闭所有打开的日志文件) set mem 128m(设置用于sta使用的内存容量) set more off(关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。) set matsize4000(设置矩阵的最大阶数。我用的是不是太大了?)

S T A T A实用教程-CAL-FENGHAI.-(YICAI)-Company One1

第一章接触STATA 小而功能强大;数据存储在内存中,运算速度快;语法简单,结果易读;可编程cd [direction] /*调整默认目录,当路径中存在空格时要加引号*/ set memory [number] /*内存设定,默认单位为KB,可自定MB*/ exit /*退出*/ 第二章 STATA命令 [prefix:]command[varlist] [=exp.] [if exp.] [using filename] [in range] [weigh:] [, options]命令前缀命令变量串表达式条件式使用文件个案范围权重选项var | var#-var## | var* /*表示单变量、多变量、以var开头的变量*/ in # | in -# | in #/## /*表示第#个、倒数第#个、从第#到第##个变量*/ help commandname/*帮助*/ 第三章使用STATA数据文件 一、读取数据 use filename [, clear] /*读取全部数据,选项clear表示清空内存*/ use var1 var# using filename /*将数据部分变量读进内存*/ use in #/## using filename /*将数据部分个案读进内存*/ use if var==# using filename /*将数据特定个案读进内存*/ use filename if var==# /*同上*/ 二、数据的标签与注释 label data “text” /*标签用于对数据整体的说明,这是贴标签的命令*/ notes:“text” /*注释用于记录操作过程,这是写注释的命令*/

【命令1】:导入数据 一般做实证分析使用的是excel中的数据,其后缀名为.xls,需要将其修改为.csv insheet using name.csv, clear 【命令2】:删除重复变量 sort var1 var2 duplicatesdrop var1 var2, force 【命令3】:合并数据 use data1, clear merge m:m var1 var2 using data2 drop if _merge==2 drop if _merge==1 drop _merge 【命令4】:描述性统计分析 tabstat var1var2, stat(n min mean median p25 p75 max sd), if groupvar==0 or 1 输出到word中: logout, save(name) word replace: tabstat var, stat(n min mean p50 max sd) col(stat)f(%9.2g) 【命令5】:结果输出 安装 ssc install estout, replace 单个回归 reg y x esttab using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01) 多个回归一起 reg y x1 est store m1 reg y x2 est store m2 esttab m1 m2 using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01)

Stata软件基本操作和数据分析入门 第五讲多组平均水平的比较 赵耐青 一、复习和补充两组比较的统计检验 1. 配对设计资料(又称为Dependent Samples) a)对于小样本的情况下,如果配对的差值资料服从正态分布,用配对t检验 (ttest 差值变量=0) b)大样本的情况下,可以用配对t检验 c)小样本的情况下,并且配对差值呈偏态分布,则用配对符号秩检验(signrank 差值变量=0) 2. 成组设计(Two Independent Samples) a)如果方差齐性并且大样本情况下,可以用成组t检验(ttest 效应指标变 量,by(分组变量)) b)如果方差齐性并且两组资料分别呈正态分布,可以用成组t检验 c)(Ranksum test)

二、多组比较 1. 完全随机分组设计(要求各组资料之间相互独立) a)方差齐性并且独立以及每一组资料都服从正态分布(小样本时要求),则采用 完全随机设计的方差分析方法(即:单因素方差分析,One Way ANOV A)进 行分析。 b)方差不齐或小样本情况下资料偏态,则用Kruskal Wallis 检验(H检验) 例5.1 为研究胃癌与胃粘膜细胞中DNA含量(A.U)的关系,某医师测得数据如下,试问四 组人群的胃粘膜细胞中平均DNA含量是否相同? 组别group DNA含量(A.U) 浅表型胃炎 1 9.81 12.73 12.29 12.53 12.95 9.53 12.6 8.9 12.27 14.26 10.68 肠化生 2 14.61 17.54 15.1 17 13.39 15.32 13.74 18.24 13.81 12.63 14.53 16.17早期胃癌 3 23.26 20.8 20.6 23.5 17.85 21.91 22.13 22.04 19.53 18.41 21.48 20.24

stata11常用命令 注:JB统计量对应的p大于0.05,则表明非正态,这点跟sktest和swilk 检验刚好相反; dta为数据文件; gph为图文件; do为程序文件; 注意stata要区别大小写; 不得用作用户变量名: _all _n _N _skip _b _coef _cons _pi _pred _rc _weight double float long int in if using with 命令: 读入数据一种方式 input x y 1 4 2 5.5 3 6.2 4 7.7 5 8.5 end su/summarise/sum x 或 su/summarise/sum x,d 对分组的描述: sort group by group:su x %%%%% tabstat economy,stats(max) %返回变量economy的最大值 %%stats括号里可以是:mean,count(非缺失观测值个数),sum(总和),max,min,range, %% sd,var,cv(变易系数=标准差/均值),skewness,kurtosis,median,p1(1%分位 %% 数,类似地有p10, p25, p50, p75, p95, p99),iqr(interquantile range = p75 – p25) _all %描述全部 _N 数据库中观察值的总个数。 _n 当前观察值的位置。 _pi 圆周率π的数值。 list gen/generate %产生数列 egen wagemax=max(wage) clear use by(分组变量)

相关文档
最新文档