搜档网
当前位置:搜档网 › stata 中文教程

stata 中文教程

stata 中文教程
stata 中文教程

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使用的数据文件一般存放在该路径下。

2.文件和数据

Stata相关的文件有三类:数据文件,do-file文件,log文件。

1.数据文件

数据文件以后缀“.dta”表示。数据文件是Stata处理和分析的对象。数据文件具有如下的逻辑结构:

variable 1 variable 2 …… variable K

1.

2.

……

N.

表1

其中每一行表示一个观测,每一列表示一个变量。每个观测都有一个编号(表1左起第1列),是系统自动加上去的。Stata对数据类型的区分不是很细致,分为数据型和字符型。缺失数据用“.”表示。

数据文件可以在Data Editor中生成,如图2所示。在方格中输入相应的变量名和数据后,点击Save按钮即可。

图 2

也可以将文本文档(.txt)和Excel表格(.xls)中的数据读入,并存为数据文件。比如,假设D盘根目录下有一个txt文件data0.txt,现在要将其读入,并存为data1.dta。可以使用

如下指令:

insheet using d:\data0.txt

save data1.dta

在读入数据后,Stata Command会显示读入了多少个观测,多少个变量,Variables会显示变量名列表。数据文件data1.dta存放在Stata默认路径中。而如果data0.txt本身就在Stata的默认路径中,则第1条指令可以简化为:

insheet using data0.txt

要打开已经存在的数据文件,可以使用Open按钮,或使用use命令。假设Stata的默认路径中有数据文件data2.dta,则可使用如下指令:

use data2.dta

(至此不难看出,在Stata中,同一个功能,既可以用命令实现,也可以用工具栏和菜单栏实现。)

有必要介绍Stata中一个重要的概念:memory。memory可以视为Stata的工作环境。数据文件只有在被读入memory后才能被处理。在一个时点上,memory中最多只能有一个数据文件。如果在一个数据文件处理途中想处理另一个数据文件,必须先用clear命令清空memory后(此时Variables会显示没有变量)再打开后一数据文件。

对已在memory中的数据文件,可以用Data Browser按钮查看,但不能修改。如果想做修改,可以用Data Editor按钮,注意修改后用Save按钮保存即可。也有命令来查看和修改在memory中的数据文件。见本文的第4部分。

值得注意的是,在memory中,数据文件是以变量为单位存在的。具体而言,处理和分析数据只能在变量层面进行。Stata的语法和命令都是针对变量的。

2.do-file文件

do-file文件以后缀“.do”表示。

在command窗口输入命令很不方便,而且也不利于保存对数据文件处理和分析的过程。替代的做法是使用工具栏中“Do-file-editor”(左起第8个)在Do-file中编程。

在do-file文件中,用*表示注释内容,Stata在运行do-file文件时会跳过这些注释语句。加入注释语句能增强do-file文件的可读性。最好为每一个do-file文件写详细的注释内容。比如文件名称,计量分析的目的,时间和结果存放位置。如果过程中生成并保存了数据文件,应写出相应数据文件的名称等。如果中途对do-file文件进行过修改,最好将修改过文件保存为另一个文件,以便于将来对比分析原文件和修改后的文件。

以下是一个do-file文件的格式:

*Wage_analysis.do

*The program is written for the analysis of wage determination.

*Data management: reshape the data to panel.

*This result will be saved in the data file: wage1.dta

* written: 10/21/05

图3是一个do-file的例子。

图3

工具栏最右边的两个按钮分别是Do current file和Run current file。点击后便可运行do-file文件。也可以选择部分命令让Stata只运行选中部分。

可以保存当前使用的do-file文件。Review窗口中的命令也可以保存为do-file。方法是点击Review窗口左上角,选择Save Review Contents。

3.log文件

log文件以后缀“.log”表示,用于记录Stata的运行结果。

在开始运行Stata时,创建一个log文件,并指定其路径和文件名,在结束运行时,再将其关掉,则可记录此间Stata的运行结果。

以下是使用的方法:

(开始运行)

log using c:\stata8\logfiles\10.21.5_30.log

………………….

(Stata命令)

…………………..

log close

(结束运行)

从而10.21.5_30.log就记录了从“log using”命令到“log close”命令之间Stata运行的所有结果。

3.语法和命令

Stata的语法十分地简单和灵活。一个命令便构成了一条可执行的语句,在Stata Command中输入后,敲回车键就可以运行了。当然也可以将一组语句编成do-file文件,按前边介绍的方法运行就可以了。每个命令都有调用的格式,只要符合Stata规定的格式,语法上就是无误的。至于具体的格式,使用时查一下Stata的帮助系统或工具手册就可以了。本文也不会详细介绍命令调用的格式。

Stata命令可以大体上分成4类:help命令;针对memory的命令;处理和分析数据的命令;数学命令。现分述如下。

help命令十分地简单。比如想了解“regress”的用法,可在Stata Command中输入如下语句后回车:

help regress

Stata会提供关于“regress”用法的详细说明,并配以例子。

针对memory的命令有清空命令clear和设置memory大小的set memory命令。memory 有一个默认的大小,但如果数据文件太大,必须重设memory的大小,如下所示:

set memory 2m

该指令将memory大小设为2兆。

处理和分析数据的命令构成Stata命令的主体。它们可实现各种各样的功能,但大体具有如下的格式:

[by varlist1:] command [varlist2] [if exp] [in range] [,options]

其中[by varlist1:]表示按一组变量(由varlist1指定)分组;

command [varlist2]表示命令是针对由varlist2指定的变量;

[if exp]表示命令只针对满足exp(一般是一个逻辑表达式)的观测;

[in range]表示命令只针对处在range指定的范围内的观测,如in 5指执行的范围是第5个观测,in -5指执行的范围是倒数第5个观测,in 5/12指执行的范围是从第5到第12个观测;

[,options]是命令特有的一些选项,根据情况和需要而定,Stata的强大功能主要就体现在这些选项上,选项的使用非常精细和讲究,使用时既要依据个人的经验,也要参看Stata 的帮助系统或工具手册。

[if exp]极大地体现了Stata的灵活性。逻辑表达式exp一般由以下成分构成:

■ 变量名

■ 数字,字符,表示缺失值的“.”

■ 关系运算符:==(等于),!=,~=(不等于),>(大于),<(小于),>=(大于或等于),<=(小于或等于)

■ 逻辑运算符:&(与),|(或),~(非)

以下是一些应用的例子:

if age > 65 & age < 85(age大于65,小于85的观测)

if place == “Canada” & pop ~= . (place为“Canada”并且pop不缺失的观测)

if year==1994 | year==1997 (year为1994或1997的观测)

if ~(pop==. & year==.) (排除pop和year都缺失的观测)

根据需要,逻辑表达式可以有非常复杂的形式。

[in range]和[if exp]相当于从一个大样本中挑出符合条件的小样本,其用处体现在两个方面。首先是数据清理阶段,找出那些有明显的错误或有缺失的观测。其次是在数据处理和分析阶段,找出有特别兴趣或意义的观测。

Stata的数学命令比较简单,没有很复杂的用法。具体使用时查一下工具手册就可以。

4.数据管理

前边介绍了生成数据文件,读入其它格式的数据,以及修改数据文件的一些方法。这一部分继续介绍数据管理的其它方法。

4.1 改变变量名

rename old_varname new_varname

old_varname是原变量名,new_varname是新变量名。

4.2 生成新变量

generate newvar = exp [if exp] [in range]

newvar是生成的新变量,exp是由现有变量生成新变量的算术或逻辑表达式,[if exp] 和[in range]指定对哪些观测计算新变量值。

比如,generate age2 = age*age (新变量age2等于age的平方),

generate biginc = income>100000 & income~=. (若income大于100000且不缺失,则新变量biginc为1,否则为0)。

4.3 对现有变量重新赋值

replace oldvar = exp [if exp] [in range]

oldvar为现有的变量。对满足[if exp]和[in range]的样本,oldvar将根据表达式exp重新赋值。

比如,replace income=. if income<=0 (若income非正,令其取缺失值),

replace age = 25 in 1007 (令第1007个观测中age为25)。

4.4 删除变量或观测

drop varlist (去掉varlist指定的变量)

drop _all (去掉全部变量)

drop if exp (去掉符合表达式exp的观测)

drop in range (去掉处在range指定范围内的观测)

4.5 保留变量或观测

keep varlist (保留varlist指定的变量,其余变量去掉)

keep if exp (保留符合表达式exp的观测,其余观测去掉)

keep in range (保留处在range指定范围内的观测)

4.6 观测重排

sort varlist

将全部观测按varlist指定的变量按升序排列。varlist中可以有不止一个变量,此时排序与字典顺序相当。

4.7 数据文件的合并

数据文件的合并涉及两个数据文件:在memory中的和不在memory中的。称前者为原数据文件(the master data),后者为新数据文件(the using data)。数据文件的合并有两种情形。

若新数据文件与原数据文件的变量完全一样,此时新数据文件相当于新的观测,使用append命令:

append using filename

其中filename是新数据文件的文件名。

若新数据文件对应着同样的观测,但变量不全一样,则使用merge命令:

merge [varlist] using filename

其中filename是新数据文件的文件名,varlist是合并的依据,varlist(可以不止一个变量)取值一样的观测视为同一个观测。在合并之前,原数据文件和新数据文件都要先按照varlist 排序。如果除了varlist外,原数据文件和新数据文件还有一部分变量是相同的。对这部分变量,merge命令有两个常用的选项。

merge [varlist] using filename, update 将原数据文件中的缺失值替换成新数据文件中的相应值(前提是后者不缺失)。

merge [varlist] using filename, update replace将原数据文件中的变量值替换成新数据文件中的相应值(前提是两者不一样)。

在这两种情形下,merge自动生成一个指示变量_merge。该变量的不同取值,代表了合并的不同情形。但一般会连续进行几次merge操作,所以在完成一次merge后应马上使用drop _merge 指令将其去掉。

4.8 下标引用

下标引用使Stata能很有效地处理时间序列数据和面板数据。对每个数据文件,_N表示观测的总数,_n为观测的序号(_n=1为第一个观测,_n=2为第二个观测,…,_n=_N是最后一个观测)。

下标引用可以很方便地生成滞后变量和做差分:

generate lagprice = price [_n-1] (生成滞后变量)

generate difprice = price – price[_n-1] (做差分)。

如果是时间序列数据,可以直接由 L. 命令生成滞后变量。

4.9 生成虚拟变量

在很多场合,需要对分别变量(categorical variables)生成虚拟变量。Stata提供的xi命令能很方便地实现这一点。这是Stata最引人入胜的功能之一。本文仅介绍xi命令最基本的用法:

xi [, prefix(string)] i.varname

varname是某一分类变量,设其共有m个可能的取值;string是prefix()指定的前缀。上述指令生成了K-1个虚拟变量:stringvarname_2, stringvarname_3, …, stringvarname_K。其中stringvarname表示字符串string和varname的联合。如果不使用[, prefix(string)]选项,则默认的前缀是_I。

比如,数据集中year的取值范围是2001,2002,2003,2004,2005,则指令 xi i.year 生成4个虚拟变量 _Iyear_2,_Iyear_3,_Iyear_4,_Iyear_5,分别对应year取值为2002,2003,2004,2005的情形。

4.10 保存对数据文件的改变

对数据文件做了如上处理后,有两种保存方法。其一是生成新的数据文件(设其文件名为newfilename),原数据文件不变(设其文件名为filename),可使用如下指令

save newfilename

其二是处理的结果写入原数据文件中,原数据文件发生改变,可使用如下指令

save filename, replace

5.描述统计

describe命令可以描述数据文件的整体,包括观测总数,变量总数,生成日期,每个变量的存储类型(storage type),标签(label)等。

如果数据文件不是很大,可以直接在Stata Results中显示数据,使用如下指令:

list [varlist] [if exp] [in range]

其中varlist指定了要显示的变量,[if exp]和[in range]确定哪些观测将被显示。[if exp]和[in range]的意义前文已经提过,不再重复。值得注意的是,[if exp]和[in range]相当于从全部样

本中选择了一个子样本。如果我们对某一个子样本中变量的统计性质感兴趣,可以使用这两个选项。本部分介绍的描述统计的Stata命令都可以使用这两个选项。

5.1 summarize 命令

summarize [varlist] [weight] [if exp] [in range] [,detail]

summarize可以提供varlist指定变量(可以不止一个)的如下统计量:Percentiles(分位数),四大最大的数和四个最小的数,Variance(方差),Std. Dev.(标准差),Skewness(偏度),Kurtosis(斜度)。

5.2 tabstat命令

tabstat varlist [weight] [if exp] [in range] [, stats(statname [...]) ] tabstat提供[, stats(statname [...]) ]指定的统计量,可供选择的有mean(均值),count(非缺失观测值个数),sum(总和),max(最大值),min(最小值),range(最大值-最小值),sd(标准差),var(方差),cv(变易系数=标准差/均值),skewness(偏度),kurtosis(斜度),median(中位数),p1(1%分位数,类似地有p5, p10, p25, p50, p75, p95, p99),iqr (interquantile range = p75 – p25)。

比如,想知道变量pop在整个样本的均值和方差,可以使用如下命令:

tabstat pop, stats(mean var)

5.3 正态性检验

对单个变量进行正态性检验可以使用如下命令:

sktest varname

swilk varname

其中sktest基于变量的偏度和斜度(正态分布的偏度为0,斜度为3),swilk基于Shapiro-Wilk 检验。这两个检验的零假设为变量服从正态分布。它们都给出p值,p值越小,越倾向于否定零假设,也就是变量越有可能不服从正态分布。

ladder,gladder, qladder先求变量的-3,-2,-1,-0.5,0.5,2,3次方以及变量的自然对数,接着对上述每一个变换做正态性检验。ladder给出p值。gladder给出直方图。Qladder 给出QQ图,QQ图越接近直线,相应的变换越有可能服从正态分布。

5.4 tabulate命令

tabulate主要用于处理与分类变量相关的问题。设varname1, varname2都为分类变量,则指令:

tabulate varname1

tabulate varname1 varname2

对varname1和varname2可能的取值做频数统计。

现在设varname1表示性别,有1和0 两种取值,分别表示男性和女性,另有varname3表示收入。我们想研究男性和女性在平均收入上的差别,可以使用如下指令

tabulate varname1, summ(varname2)

tabulate 的用法很多,可以使用help tabulate命令来查询。与tabulate类似的命令有table。

5.5 anova命令

anova y x1 x2

anova 做方差分析(analysis of variance),研究y的平均值在分类变量x1和x2不同取值之间的差异。

5.6 signrank命令

signrank y1=y2

signrank做Wilcoxon秩检验。

5.7 signtest命令

signtest y1=y2

秩检验,检验变量y1和y2的中值是否相等。检验y1的中值是否为5可用如下命令

signtest y1=5

5.8 ttest命令

ttest y1=y2

检验变量y1和y2的平均值是否相等。检验y1的平均值是否为5可用如下命令

ttest y1=5

5.5-5.8各命令都给出检验的p值。p值越小,越倾向于拒绝零假设。

5.9 correlate命令

correlate [varlist] [weight] [if exp] [in range]

correlate计算varlist中变量(两两)之间的相关系数。

6.画图

Stata提供了非常强大的画图功能。在很多场合,画图与描述统计一样,都是要揭示单个变量的分布或多个变量之间的关系,只是以图形的形式更为直观。值得注意的是,在画图命令上,Stata 8与以前的版本差别较大:同一个画图功能,对应的命令是不同的。在具体画图时,可以参看Stata的Graphics Reference Manual或使用help graph指令。本部分的重点不是具体的画图命令,而是Stata能实现的画图功能。本部分的命令全部来自Stata 8。画图命令都有很多选项以满足不同的需要,但这也不是本部分的重点。

对单个变量,Stata能画如下图案:

■直方图histogram y (y是变量名,下同)

■ box plot graph box y

■ pie charts graph pie y

■ 核估计方法得到的概率密度函数 kdensity y

■ QQ图 qnorm y

对多个变量,Stata能画如下图案:

■ 两个变量的散点图

graph twoway scatter y x (y对x的散点图)

graph twoway line y x (以x为横座标,y为纵座标的点连成的折线)graph twoway connected y x (以x为横座标,y为纵座标的点连成折线,但转角处特别

标出)

graph twoway lfit y x (y对x回归的回归直线)

■ 一个变量的总体统计量对另一个变量(一般为分类变量)的bar charts

graph bar (mean) y, over (x) (y的平均值与x的关系)

graph bar (media) y, over (x) (y的中位数与x的关系)

■ 多个变量的散点图

graph matrix x1 x2 x3 x4 y (x1,x2,x3,x4,y两两之间的散点图)

有一些通用的选项可以给图形“润色”:

■ 标题 title(“string”) (string可为任意的字符串,下同)

■ 脚注 note(“string”)

■ 横座标标题 xtitle(“string”)

■ 纵座标标题 ytitle(“sting”)

■ 横座标范围 xaxis(a,b) (a

■ 纵座标范围 yaxis(a,b)

■ 插入文字 text (该命令既要指定插入文字的内容,也要指定插入的位置) ■ 插入图例 legend (该命令既要指定图例的内容,也要指定其位置) 对Stata画出的图象,可以使用Edit – Copy Graph菜单将其直接粘贴到word文档中,也可以使用File – Save Graph菜单将其存为图形文件以被后用。

7.回归和回归分析

回归是Stata最主要的功能之一。本部分主要介绍如何用Stata做线性回归,以及回归分析,并简单介绍用Stata做Logistic回归的方法。回归命令的选项也非常丰富,可以使用help regress / logit / probit / tobit 来了解。

线性回归的命令有:

■regress y x1 x2 x3 (以y为被解释变量,x1,x2,x3为解释变量做回归;regress后第

一个变量为被解释变量)

■ regress y x1 x2 x3, robust (regression with robust standard errors)

■ regress y x1 x2 x3 [aweight=w] (WLS,以变量w为权重)

■ xi: regress y x1 x2 i.catvar*x2 (被解释变量为y,解释变量为x1,x2,分类变量catvar生成的虚拟变量与x2的乘积。xi可以实现很复杂的带虚拟变量的回归。

可使用help xi 命令来了解。)

■ regress y x1 x2 (x z) (工具变量回归,工具变量是x和z)

■ regress y x1 x2 [if exp][in range] (使用满足[if exp]和[in range]的观测做回归)线性回归的典型输入如图4所示:

图4

R,可见Stata会报告如下结果:方差分解,整体显著性检验的F统计量及相应的p值,2

R,MSE的平方根(亦即对σ的估计),系数估计,系数估计的标准差,t值,显调整后的2

著性检验的p值,置信区间。

回归后可以对系数做假设检验。以图4中的回归为例,可以做如下假设检验:

■ 对单个参数的检验

test amount (检验amount的系数是否显著)

test amount = 1 (检验amount的系数是否为1)

■ 对多个参数的检验

test amount ratio (零假设为amount和ratio的系数都不显著)

test amount=ratio (检验amount和ratio的系数是否相等)

test amount + ratio=1 (检验amount和ratio的系数之和是否为1)

对多个参数的检验,一般检验参数是否服从某一线性约束。

回归后一般要做回归分析,检验是否存在异常的观测,以及是否有异方差,自相关,共线性。回归分析一般依据回归残差进行。此时最重要的命令是predict,可以使用help predict指令来了解它。

predict命令主要的功能如下:

■ 拟合值相关

predict yhat (yhat是任意指定的变量名,以下皆如此)

predict new, stdp (standard errors of predicted mean y)

■ 回归残差相关

predict e, resid (e是任意指定的变量名)

predict e, rstandard (标准化的残差,e是任意指定的变量名)

predict e, rstudent (学生化的残差,e是任意指定的变量名)

predict new, stdr (回归残差的标准差, new是任意指定的变量名)

■ 观测相关

predict new, cooksd (Cook’s D influence measures)

predict new, dfits (DFITS influence measures)

predict new, welsch (welsch’s distance influence measures)

这几个指令都给出每个观测对回归的影响程度。影响程度越大的观测,越有可能是异常的。在回归时,一般要去掉异常观测。

在得到残差后,可以画残差关于某一解释变量,拟合值,时间的图象,以判断有没有异方差或自相关的存在。此时可以使用前一部分介绍的画图命令,但也有专门的命令可用。如果是画残差关于拟合值的图象,可以使用rvfplot命令。如果要画残差关于某一解释变量(设为x1)的图象,可以使用如下指令:

rvfplot x1

更精细的回归分析需要做假设检验:

■ 异方差检验

hettest (Cook and Weisberg’s test for heteroskedasticity)

hettest x1 (同上,但此时我们有理由怀疑异方差可写成变量x1的函数)

■ 自相关检验

dwstat (Durbin-Watson自相关检验)

durbina (Durbin-Watson h统计量)

bgodfrey (Breusch-Godfrey LM 统计量)

■ 共线性检验

vif (variance inflation factors或方差膨胀因子。对每一个解释变量,都可以计算其方差膨胀因子。该因子越大,相应的变量越有可能是其它

变量的线性组合。)

Logistic回归命令的形式与线性回归十分相识:

■ logit回归

logit y x1 x2 x3 (y取0或1,是被解释变量,x1-x3是被解释变量)

■ probit回归

probit y x1 x2 x3 (y取0或1,是被解释变量,x1-x3是被解释变量)

■ tobit回归

tobit y x1 x2 x3 (y取值在0和1之间,是被解释变量,x1-x3是被解释变量)

8.常用命令

8.1 文件和系统管理

insheet (导入外部数据)

use (使用已有的数据文件)

save (保存数据文件)

log using / log close (log文件操作)

cd (改变默认路径)

set memory (设置memory 大小)

clear (清空memory)

help / search (查询帮助文档)

8.2 数据管理

list (展示数据)

describe (数据文件的整体描述)

rename(改变变量名)

generate(生成新变量)

replace(对现有变量重新赋值)

drop(删除变量或观测)

keep(保留变量或观测)

sort(观测重排)

merge / append(数据文件的合并)

xi(生成虚拟变量)

8.3 描述统计

summarize

tabstat

sktest /swilk /ladder /gladder /qladder (正态性检验) tabulate

anova(方差分析)

signrank(Wilcoxon秩检验)

signtest(检验两变量的中值是否相等)

ttest(检验两变量的均值是否相等)

correlate(计算多个变量两两之间的相关系数)

8.4 画图

histogram(直方图)

graph box(box plot)

graph pie(pie charts)

kdensity(kernal density function)

qnorm(QQ图)

graph twoway scatter/line/connected(两个变量的散点图) graph matrix(多个变量的散点图)

8.5 回归和回归分析

regress(线性回归)

xi: regress(带虚拟变量的线性回归)

test(假设检验)

predict

rvfplot(与残差相关的图象)

hettest(异方差检验)

dwstat /durbina /bgodfrey(自相关检验)

vif(共线性检验)

logit(logit回归)

probit(probit回归)

tobit(tobit回归)

Stata12软件的基本设定(设置)

Stata12 软件的基本设定 如果你已经安装了stata12,请直接跳到(6)。 ( 1)将StataSE12.1绿色版.7z解压到D盘根目录,即D:\stata12(注意:是D:\stata12,而 非D:\stata12 \stata12,另外, stata12 是小写)。 (下载地址: https://www.sodocs.net/doc/2315122611.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实用教程

文档收集于互联网,已重新整理排版.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的书籍和网络资源都不少。 本文拟根据如下顺序介绍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使用的数据文件一般存放在该路径下。

STATA实用教程

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” /*注释用于记录操作过程,这是写注释的命令*/

stata入门教程

Stata 快速入门 1、Stata的窗口 ?在最上方有一排菜单,即“File Edit Data Graphics Statistics User Window Help”。?左上“Review”(历史窗口):此窗口记录着自启动Stata以来执行过的命令。?右上“Variables”(变量窗口):此窗口记录着目前Stata内存中的所有变量。?正上方“Results”(结果窗口):此窗口显示执行Stata命令后的输出结果。 ?正下方“Command”(命令窗口):在此窗口输入想要执行的Stata命令。 2、将数据导入Stata ?打开Stata软件后,点击Data Editor(Edit)图标(也可以点击菜单“Window”→“Data Editor”),即可打开一个类似Excel的空白表格。 ?用Excel打开文件“nerlove.xls”,复制文件中的所有数据,并粘贴到Data Editor 中。 ?导入数据的另一方法是,点击菜单“File”→“Import”,然后导入各种格式的数据。但这种方法有时不如直接从Excel表中粘贴数据来得方便直观。 3、变量窗口 ?关闭Data Editor后,即会看到右上方的“Variables”窗口出现了5个变量:?分别为tc(total cost,总成本),q(total output, 总产量),pl(price of labor,小时工资率),pf(price of fuel,燃料价格),与pk(user cost of capital,资本的租赁价格。 4、存为dta数据文件 ?此时,可以点击Save图标(也可以点击菜单“File”→“Save”),将数据存为Stata格式的文件(扩展名为dta),比如nerlove.dta。 ?以后就可以用Stata直接打开这个数据集了(不需要再从Excel表中粘贴过来)。 5、打开dta数据文件 打开的方式有三种: 1.点击Open图标(也可以点击菜单“File”→“Open”),然后寻找要打开的dta 文件的位置。 2.直接双击想要打开的dta文件 3.在命令窗口输入以下命令(假设文件在E盘的根目录)并回车(按Enter键)

Stata教程(免费)

第一章 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的数据管理空间受计算机的操作系统和计算机扩展内存的影响。对640k内存的微机,3.1 版本的Stata可以管理2400个记录×99个变量,并随计算机扩展内存的增加而增加;对4.0的WINDOWS版本,Stata可以管理4800个记录×99个变量;对WINDOWS 95下的5.0版本,可根据计算机的配置情况设置变量数和记录数,如32M扩展内存的计算机,可处理2千万个数据。变量数和记录数可以互相交易(trade),即减少记录数可以增加变量数,减少变量数可以增加记录数。 2.可以将分组变量转换成指示变量(哑变量),将字符串变量映射成数字代码。 3.可以对数据文件进行横向和纵向链接,可以将行数据转为列数据,或反之。 4.可以恢复、修改执行过的命令。 5.可以利用数值函数或字符串函数产生新变量。 6.可以从键盘或磁盘读入数据。 二、 Stata的统计功能 Stata的统计功能很强,除了传统的统计分析方法外,还收集了近20年发展起来的新方法,如Cox比例风险回归,指数与Weibull回归,多类结果与有序结果的logistic回归,Poisson回归、负二项回归及广义负二项回归,随机效应模型等。具体说,Stata具有如下统计分析能力: 1.数值变量资料的一般分析:参数估计,t检验,单因素和多因素的方差分析,协方差分析,交互 效应模型,平衡和非平衡设计,嵌套设计,随机效应,多个均数的两两比较,缺项数据的处理,方差齐性检验,正态性检验,变量变换等。 2.分类资料的一般分析:参数估计,列联表分析( 2检验,列联系数,确切概率),流行病学表格分 析等。 3.等级资料的一般分析:秩变换,秩和检验,秩相关等。 4.相关与回归分析:简单相关,偏相关,典型相关,以及多达数十种的回归分析方法,如多元线性 回归,逐步回归,加权回归,稳键回归,二阶段回归,百分位数(中位数)回归,残差分析、强影响点分析,曲线拟合,随机效应的线性回归模型,等。 5.危险度分析:条件和非条件的logistic回归,多类结果与有序结果的logistic回归,Probit回 归,及其他广义线性模型,随机效应的logistic回归,随机效应的Poisson回归,等。 6.生存分析:基线生存曲线的估计、相对危险度的估计,Kaplan-Meier生存曲线、寿命表分析,对 数秩检验,Mantel-Haenszel检验,Wilcoxon-Gehan检验,Cox比例风险模型,正态截尾及Tobit 回归,指数回归和Weibull回归,等。 7.其它方法:质量控制,整群抽样的设计效率,诊断试验评价,kappa,等。 三、 Stata的作图功能 Stata的作图模块,主要提供如下八种基本图形的制作: 直方图(histogram),条形图(bar), 百分条图(oneway),百分圆图(pie),散点图(twoway),散点图矩阵(matrix),星形图(star),分位数图。这些图

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) *宽>>>长数据

5分钟搞定Stata面板数据分析

【原创】5分钟搞定Stata面板数据分析简易教程ver2.0作者:张达 5分钟搞定Stata面板数据分析 简易教程 步骤一:导入数据 原始表如下, 数据请以时间(1998,1999,2000,2001??)为横轴,样本名(北京,天津,河北??)为纵轴 将中文地名替换为数字。

注意:表中不能有中文字符,否则会出现错误。面板数据中不能有空值。 去除年份的一行,将其余部分复制到stata的data editor中,或保存为csv格式。

打开stata,调用数据。 方法一:直接复制到data editor中。 方法二:使用口令:insheet using 文件路径 调用例如:insheet using C:\STUDY\paper\taxi.csv 其中csv格式可用excel的“另存为”导出 如图:

步骤二:调整格式 首先请将代表样本的var1重命名 口令:rename var1 样本名 例如:rename var1 province 也可直接在var1处双击,在弹出的窗口中修改:

接下来将数据转化为面板数据的格式 口令:reshape long var, i(样本名) 例如:reshape long var, i(province) 其中var代表的是所有的年份(var2,var3,var4??) 转化后的格式如图: 转化成功后继续重命名,其中_j 这里代表原始表中的年份,var代表该变量的名称口令例如: rename _j year rename var taxi 也可直接在需要修改的名称处双击,在弹出的窗口中修改 如图:

STATA初级视频教程说明书(连玉君)

STATA初级视频教程(2010版) 使用说明 连玉君 (中山大学 岭南学院 金融系) arlionn@https://www.sodocs.net/doc/2315122611.html, 目 录 1 课程简介 (1) 2 课程特色 (2) 3 课程配套资料 (2) 4 配套资料的使用方法 (2) 5 讨论和建议 (4) 6 讲师介绍 (4) 7 报名咨询 (4) 8 培训优惠 (4) 附录A:STATA初级视频目录(时间节点) (5) 第一讲STATA简介 (5) 第二讲数据处理 (9) 第三讲Stata绘图 (13) 第四讲矩阵操作 (16) 第五讲STATA 编程初步 (18) 附录B:STATA高级视频教程简介 (20)

工欲善其事,必先利其器。无论是经济学、管理学还是社会科学的其他学科,定量分析都变得越来越重要了。作为一个较为年轻的计量软件,STATA自1985年问世以来,以其在数据处理、绘图、回归分析等方面的出色表现,赢得了越来越多的青睐。然而,相比于SPSS、Eviews等以菜单操作为主的软件,以命令操作见长的STATA软件门槛相对较高。由于进入国内的时间较短,相关的参考资料甚为有限,而STATA公司提供的近10000页的全英文使用手册更是令多数初学者望而生畏。这也成为阻碍多数国内同仁学习这款功能强大的计量软件的主要障碍。 鉴于上述情况,我们分别于2007年11月和2008年10月推出了“STATA初级视频教程”和“STATA高级视频教程”,内容涉及STATA的基本操作、数据处理、绘图、编程、常用计量模型的估计,以及Bootstrap和Monte Carlo模拟等内容。视频教学的直观性,加之课程的实用性导向,使这两套教程获得了广泛的好评。承蒙广大STATA视频教程学员的积极参与和反馈,我在过去两年多的时间里收集到了100余条修改建议,历经半年多的制作,最终得以为大家呈现这套新版STATA初级视频——“STATA初级视频教程(2010版)”。 STATA初级视频教程(2010版)共5讲,包含36个视频文件,总计40余个学时。内容涉及:STATA入门、数据处理、绘图、矩阵以及编程。内容简介如下(详细目录见附录A):第1讲从整体上介绍了STATA的基本架构,以便使学员在最短的时间内掌握STATA的精髓,包括:数据的导入导出、执行命令、修改和查验资料、log文件和do文件的使用、STATA与Word(Excel、LaTeX)等软件的完美结合,以及STATA常用设定等内容。 第2讲通过大量的实例,介绍了各种数据处理技巧,是本课程最为核心、最有特色的内容。主要包括:复杂变量的创建;分位数;重复样本值、缺漏值和离群值的处理;资料的合并、追加和重新组合;文字变量、类别变量的处理;时间序列和面板资料的处理;以及数据的查验和对比等内容。这些内容的学习将大幅提高学员的数据处理能力。 第3讲介绍STATA绘图。为了达到举一反三的效果,我先从整体上介绍STATA绘图的基本知识,进而将绘图命令拆解成8类选项和5类元素,并最终通过40余个实例全面介绍了15类常用图形的绘制方法。 第4讲介绍STATA矩阵操作,包括矩阵的定义和管理、矩阵运算、矩阵解析等四个主题,为后续学习STATA编程知识奠定了扎实的基础。 第5讲介绍STATA编程的基本知识,包括:程序的定义和调用、单值、暂时性物件(暂元、暂时性变量、暂时性文件、暂时性矩阵等)、循环语句、条件语句,以及STATA返回值的引用等内容。通过本讲的学习,学员将能够通过独立编写STATA程序来提高数据处理和模型估计的效率,为后续学习STATA高级程序奠定基础。 以上各讲都以专题的形式进行讲解,其中不但包含了STATA官方提供的常用命令,还包含了大量外部命令(520多个),为学员提供了强有力的实证分析工具。

Stata软件基本操作和数据分析入门

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软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。

相关主题