1 STATA入门
Stata统计软件包是目前世界上最著名的统计软件之一,与SAS、SPSS一起被并称为三大权威软件。它广泛的应用于经济、教育、人口、政治学、社会学、医学、药学、工矿、农林等学科领域,同时具有数据管理软件、统计分析软件、绘图软件、矩阵计算软件和程序语言的特点,几乎可以完成全部复杂的统计分析工作。其功能非常强大且操作简单、使用灵活、运行速度极快,在许多方面别具一格,而且操作灵活简单,易学易用。
Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。尽管它也提供了窗口菜单式的操作方式,但强烈建议大家坚持使用命令行/程序操作方式,很快你就会体会到使用程序和命令方式所带来的那种随心所欲自由地处理和分析数据的快感。
Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。这一特点使得STATA始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。
STATA由美国计算机资源中心(Computer Resource Center)研制,现为STATA公司的产品。从1985至2007的二十多年时间里,已连续推出1.1,1.2,…,7.0,8.0,9.0,10.0等多个版本。我们将要学习的是9.0版本。
1安装
(1) http://www.pinggu.org/bbs/dispbbs.asp?boardID=67&ID=97705&page=2 上有stata9.rar下载,但是做正式的论文或工作还是应该尽量用正版软件。
(2)将其解压到D:/stata9。
(3)点击setup安装>>改变安装路径到D:/stata8>>选择Stata/SE版本。
1.2启用和退出
(1) 程序→Stata,即可进入Stata,启动后出现文件对话框,要求输入注册单位和密码等。
1
(2)打开D:/stata8>>点击wsestata>>打开sn文件找到注册信息,进行注册(注意用户名和单位要多于5个英文字符)。完成注册后,出现如下画面。
(3)调整和保存界面设置:拖动各个窗口,将其调整为如下合适的格式,然后选择Prefs>>save windowing preference
2
Stata的界面主要是由四个窗口构成:
结果窗口:位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。
命令窗口:位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。
命令回顾窗口:即review窗口,位于界面左上方,所有执行过的命令会依次在该窗口中列出,单击后命令即被自动拷贝到命令窗口中;如果需要重复执行,用鼠标双击相应的命令即可。
变量名窗口:位于界面左下方,列出当前数据及中的所有变量名称,。 除以上四个默认打开的窗口外,在Stata中还有数据编辑窗口、程序文件编辑窗口、帮助窗口、绘图窗口、Log窗口等,如果需要使用,可以用Window或Help菜单将其打开。
(4)点击右上角的X号退出。
建议安装路径为: D: /stata9。一般不要安装在C盘下,更不要直接放在桌面上。这是因为我们通常会将数据和程序存储于安装目录下,如果安装c 盘,一旦计算机出现意外故障,很可能导致我们存储在上面的数据无法恢复。
1.3打开和查看数据
打开和查看一个数据文件有三种方式,这三种方式分别是窗口式操作、命令式和程序式操作。例:我们要打开STATA自带的示例数据文件auto.dta。 1.3.1 窗口执行方式
(1)点左上角的第一个按扭,弹出一个对话框,选择STATA软件自带的示例数据文件auto.dta,双击即打开该文件。
(2)然后点击倒数第四个按扭图标,弹出一个数据库窗口,显示的是auto数据文件包含的具体内容。
3
该数据集共有12列74行,每一列为一个变量,如第一列为汽车品牌,第二列为价格等;每一行为一辆汽车的相关信息,如第一行的汽车是AMC Concord,价格为4099美元。
(3)点右上角的X号,退出数据窗口。 1.3.2命令互动执行方式
注意到执行上述操作后,结果窗口新出现了两行白色字体显示的如下内容: use \"D:\\Stata9\\auto.dta\edit
其中,前者为打开auto数据文件的命令,后者为查看该数据的命令。请该行文字选中,点右键并选择复制文本(copy text)。 不妨先退出STATA,然后重新打开STATA。在命令窗口粘贴复制的命令,或者直接键入
. use \"D:\\Stata9\\auto.dta\", clear . edit 这两个命令将再一次打开并显示auto数据窗口,同样点击右上角的X号,退出数据窗口。注意到,若不退出数据窗口,则命令窗口被禁止输入。
另注意,在命令窗口中,回车即执行,也因此命令窗口不能回车换行。 1.3.3批量程序执行方式
注意到左上有一个Review窗口,该窗口记录使用过的命令,刚才键入的两个命令即出现在该窗口中,击活命令回顾窗口,点右键选择save review content,在弹出的对话框中取名为mydo并保存,即得到程序操作文件。
先退出STATA,然后重新打开STATA,点击倒数第五个命令按钮,打开刚才保存过的程序文件mydo.do,再点选,执行。 1.3.4三种执行方式的相互关系
三种操作方式可以完成同样的任务。在初学命令的时候,当不记得某个命令时可以采用菜单操作方式得到该命令的用法。在结果窗口和命令回顾窗口都出现该命令,在命令窗口重复输入相应的命令,即可获得和窗口式操作同样的结果。如果将回顾窗口的命令保存,即得到程序,执行程序也得到同样的结果。
使用STATA时建议大家采用第三种方式,即写程序的方式,程序可以使得数据的处理和分析过程被完整保留下来,便于自己和他人进行修改和评论。
1.4寻求帮助与网络资源
有多种途径可以获得STATA 的帮助,主要的途径有三个:手册、STATA 自带帮助和网络帮助。对于多数人而言手册是可望不可及的,因为一套完整的手册有10 余本,而且价格昂贵。但有了STATA 的自带帮助,我们可以在记住极少
4
量的基本命令的基础上,方便地运用STATA命令1。 1.4.1 获取帮助的命令
. help
显示出STATA所有帮助内容的目录结构。
如果输入具体的命令,则只显示该命令的帮助,如 . help summarize
也可以通过菜单式的点选方式获得帮助: Help>>stata command…在弹出的对话框中输入:summarize然后回车,得到与whelp summarize同样的结果。 使用帮助的小窍门:先看命令描述(Description)部分,然后直接看帮助文件后面的命令示例(Examples),将命令示例复制到命令窗口,执行,看看执行结果,体会命令的用法。
网络帮助可以采用如下命令获得 . findit scat3, net . search scat3, net 这两条命令等价,均为寻找绘三维立体图的命令scat3。由于scat3不是STATA内置命令,所以需要通过这两个命令搜索并下载安装后才能使用。 1.4.2 几个主要的网站
(1) STATA公司官方网站http://www.stata.com
(2) STATA资源链接http://www.stata.com/links/resources.html (3) STATA出版社http://www.stata-press.com (4) STATA电子杂志http://www.stata-journal.com/ (5) STATA技术公告版
http://www.stata.com/support/faqs/
http://fmwww.bc.edu/gstat/docs/gsafaq.html
http://www.ats.ucla.edu/stat/stata/examples/default.htm
1.5命令示例
1.5.1 进行四则运算
. di 5+9 . di 5-9 . di 5*9 . di 10/2 . di 10^2 . di exp(0) . di ln(1) . di sqrt(4)
上述运算分别为加、减、乘、除、幂、指、对和开方,其中di为display的
1
最常用的命令见附录2
5
简写,是一个STATA命令。 1.5.2描述统计:求五数概略
任务:求价格和重量的观察值个数、平均值、标准差、最小值和最大值 . use auto, clear . sum price . sum weight
这两步命令也可以一步完成 . sum price weight 1.5.3 绘图
任务:绘出价格和重量的散点图和折线图 . scatter price weight . line price weight, sort 1.5.4生成新的数据
任务:生成新的数据x, (x=1,2,…1000); y=x+100. . clear
. set obs 1000 . gen x=_n . gen y=x+100 1.5.5控制结果输出显示
. list n
显示完一屏后会停住,此时按回车键和”l”会显示下一行;按”q”会终止命令,或者使用ctrl+break;按其他键会显示下一页。
1.6几个环境设置
1.6.1 设置屏幕滚动
在列示1到1000之前,若先设置set more off,则屏幕不停止;反之set more on会使显示停止。 . set more off . list
. set more on . list . q 1.6.2 清除内存中原有内容
. clear
1.6.3设置内存大小
查看内存使用情况
6
. memory 设置内存
. set memory 10m 1.6.4 设置文件存取路径
在打开数据之前,先要定位数据的位置,其命令为 ★. cd d:/stata9
如果想知道当前路径下有哪些文件,可以用dir命令来列示 . dir
假设你想在D盘的根目录下创建一个新的文件夹mydata来存放数据文件,命令为mkdir。 mkdir d:/mydata
然后,进入该目录,命令为cd . cd d:/mydata ★1.6.5错误提示
学会从STATA的错误提示中明白错在哪里非常重要。 . list myvar
上述命令试图显示变量myvar,但是结果窗口仅出现如下的显示 variable myvar not found r(111);
红色信息表明,没有找到一个叫myvar的变量,的确,我们的数据中并没有这个变量。List巧妇难为无米之炊。
红色信息下面还有一个天兰色的r(111),用鼠标点击,即可弹进一个帮助信息框,给出错误的更详尽解释。
再比如,我们在求五数概略时,误把sum写成了sun . sun
unrecognized command: sun r(199);
显示说不认识sun这个命令。
1.7复习和练习
(1)复习本节学习的主要命令clear, help, list, whelp, use, search, cd (2)找到附录2中主要命令的帮助信息 (3)计算出8+2*ln(100)-e3/5^2
7
1.8附录
1.8.1附录1:本章命令的程序文件
*============================chp1.do==================================== clear //清除内存
set memory 10m //设置内存大小
cd d:/stata8 //在打开数据之前,先要定位数据的位置
use auto //打开数据文件auto.dta *计算汽车的平均价格
sum price //该步计算汽车的平均价格
sum price weight //求价格和重量的观察值个数、平均值、标准差、最小值和最大值
use /*使用系统中的数据*/ auto, clear sum weight /// price ///
length //求重量、价格、长度的平均值 scatter price weight //绘价格和重量的散点图 clear //清除内存
set obs 1000 //将数据指针定位到1000处
gen x=_n //生成一个1到1000的边疆自然数,变量名为x gen y=x+100 //生成一个新的变量y,y从101到1100
/*从上面的例子可见:
(1) 在最前面加上“*”号表示该行为注释语句,STATA将只显示不执行; (2) 在一个命令的中间加入注释,要用: /*注释内容*/
(3) 对较长的命令或者为便于阅读,将一行命令写成几行时,用///来分开 (4) 在命令行的后面加入注释: //注释语句
将一部分内容变成注释内容,前后用/*被注释掉的语句*/ */
*============================end=================================
8
1.8.2附录2:常用命令
需求帮助
• help 帮助
• search 网络寻求帮助 进入某路径
• cd 设定内存
• set memory 20m 设置STATA的内存空间为20m 打开和保存数据
• clear • use • save 导入数据
• input • edit • infile • insheet 重整数据
• append • merge • xpose • reshape • generate • egen • rename • drop • keep • sort • encode • decode • order • by 报告数据
• describe • codebook • list • count • inspect • table • tabulate 显示和保存输出结果
• display • log
清空内存数据
打开STATA格式的数据文件 保存内存中的数据 录入数据 编辑数据 导入数据 导入数据 将有相同结果的数据纵向拼接(观察值拼接)将两个数据文件横向拼接 数据转置
生成新的数据 生成新的数据 变量重命令
删除变量或观察值 保留变量或观察值
对观察值按从小到大顺序重新排列 数值型数据转换为字符型数据 字符型数据转换为数值型数据 变量顺序的重新排列 分类操作 总体展示数据情况
展示数据库中的每个变量情况 列示内存中的数据 报告共有多少观察值 报告变量的分布 数据列表 联列表 显示计算结果
将输出结果存放入结果文件
9