当前位置:文档之家› 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 K1.2.……N.表1其中每一行表示一个观测,每一列表示一个变量。

每个观测都有一个编号(表1左起第1列),是系统自动加上去的。

Stata对数据类型的区分不是很细致,分为数据型和字符型。

缺失数据用“.”表示。

数据文件可以在Data Editor中生成,如图2所示。

在方格中输入相应的变量名和数据后,点击Save按钮即可。

图 2也可以将文本文档(.txt)和Excel表格(.xls)中的数据读入,并存为数据文件。

比如,假设D盘根目录下有一个txt文件data0.txt,现在要将其读入,并存为data1.dta。

可以使用如下指令:insheet using d:\data0.txtsave 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 regressStata会提供关于“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]相当于从一个大样本中挑出符合条件的小样本,其用处体现在两个方面。

首先是数据清理阶段,找出那些有明显的错误或有缺失的观测。

相关主题