stata使用手册资料.docx
《stata使用手册资料.docx》由会员分享,可在线阅读,更多相关《stata使用手册资料.docx(13页珍藏版)》请在冰豆网上搜索。
stata使用手册资料
STATA基本入门
前言
STATA是一个十分好用而且简单的统计软件包,透过轻松的数据输入方式,而且简单的指令,即可执行一般在计量经济学上常用的计量模型。
除了计量模型外,STATA的软件包中也可执行统计学中的估计和检定,甚至是多变量分析中的各项分析工具。
因此,STATA可以说是一个相当强而有力的统计软件。
一、安装
STATA所须的内存容量不大,只有4.03MB。
此外,安装也相当简单,只要在〝SETUP〞上点两下,安装完成后再分别输入”Sn”、”Code”和”Key”即可开始使用。
但是安装过程中有一点必须注意的是,如下图所示,有”Intercooled”和”Small”两个选项。
一般而言,为了方便日后要设定较大的内存容量来处理大笔的资料,通常选择以”Intercooled”进行安装。
二、窗口介绍
安装完成后,点选桌面上STATA的图标,窗口画面如下图所示。
为了使画
面美观,我们可以将画面拉到自己喜欢的地方,如下图所示。
为了保存这个窗口画面,我们必须点选工具列上的”Prefs”下的”SaveWindowingPreferences”。
如此一来,以后开启STATA时都会以此窗口画面呈现。
在此輸入指令
接下来,我们依序介绍四个窗口的功用:
左上─Review:
此一窗口用于记录在开启STATA后所执行过的所有指令。
因此,若欲使用重复的指令时,只要在该指令上点选两下即可执行相同的指令;若欲使用类似的指令时,在该指令上点一下,该指令即会出现在窗口”StataCommand”上,再进行修改即可。
此外,STATA还可以将执行过的指令储存下来,存在一个do-file内,下次即可再执行相同的指令。
左下─Variables:
此一窗口用于呈现某笔数据中的所有变量。
换言之,当数据中的变量都有其名称时,变量名称将会出现在此一窗口中。
只要数据有读进STATA中,变量名称就会出现。
它的优点是
(1)确认数据输入无误;
(2)只要在某变量上点选两下,该变量即会出现在窗口”StataCommand”上。
右上─StataResults:
此一窗口用于呈现并记录指令执行后的结果。
右下─StataCommand:
此一窗口用于输入所欲执行的指令。
Note:
以上四个窗口都可以从”Fonts”去更改字体大小。
三、输入数据(Enteringdata)
在本小节中,我们将介绍如何把数据读进STATA。
但是在正式介绍之前,我们必须先对几个一般性的指令(generalcommand)有所了解,说明如下:
cd:
即changedirectory,简言之,告知STATA数据储存的地方。
例如当数据储存在e槽的sample数据夹时,则必须先输入cde:
\sample。
dir/ls:
用来显示目录的内容。
setmemory#m:
设定内存的容量。
例如:
当有一笔庞大的数据要处理时,则可设定100mb的容量,此时可输入setmemory100m。
(输入指令memory可以知道内存容量的大小以及使用情况。
)
setmatsize#:
设定所需的变量个数。
一般而言,不须对此部分进行设定,除非所欲处理的资料庞大或是当执行后出现matsizetoosmall的讯息时再进行修改即可。
内建为40。
setmoreoff/on:
若欲执行结果以分页的型式呈现时,则输入setmoreon;若欲执行结果同时呈现时,则输入setmoreoff。
help:
求助键。
后面必须接的是指令。
说明如何使用该指令,例如:
helpregress。
search:
求助键。
后面可接任何文字。
说明在何处可以找到该文字。
例如:
searchnormaldistribution。
clear:
清除键。
用来删除所有数据。
接下来,根据数据类型或指令的不同,数据输入的方法可分成以下四种:
1、输入EXCEL数据
将EXCEL的数据输入STATA的方式还可细分成以下两种:
①将EXCEL的数据输入STATA之前,必须先将数据存成csv文件,再利用指令insheet来读数据。
Example:
❶当csv档的第一列有变量名称时:
cde:
\sample
dir
memory
setmemory10m
insheetusingsample1-1.csv
❷当csv档的第一列没有变量名称时:
insheetgenderidracesesschtypprgtypereadwritemathsciencesocstusingsample1-2.csv
②直接复制EXCEL上的数据,再到STATA选取”Window”下的”DataEditor”,点选后会出现”StataEditor”工作表,再到”Edit”下选取”Paste”即可贴上数据。
2、输入ASCII的数据型态
依ASCII的数据型态区分,将ASCII的数据输入STATA的方式也有以下两种:
①数据型态一:
见sample1-3.txt
infilegenderidracesesschtypstr10prgtypereadwritemathsciencesocstusingsample1-3.txt
Note:
记住文字的设定方式(str#variablename)。
②数据型态二:
见sample1-4.txt
第二种的数据型态通常须要codebook。
如下表所示。
variablename
Columnnumber
id
1-2
eng
3-4
math
5-6
sex
7
micro
8-9
macro
10-11
infixid1-2eng3-4math5-6gender7micro8-9macro10-11usingsample1-4.txt
3、利用Do-fileeditor输入数据
将数据或是指令写入Do-fileeditor,再执行即可。
例如:
将下面数据复制并贴在Do-fileeditor(选取”Window”下的”Do-fileeditor”)上,再选择”docurrnetfile”执行即可。
4、利用STATA的数据型态输入
除了以上三种方法之外,还可以开启之前以STATA储存的资料。
Note:
此一指令亦可用在读取网络上的数据(use网址)。
最后,将数据输入的相关指令整理成下表。
insheet
readASCII(text)datacreatedbyaspreadsheet
infile
readunformattedASCII(text)data
infix
readASCII(text)datainfixedformat
input
enterdatafromkeyboard
use
loadaStata-formatdataset
四、探索资料(Exploringdata)
为了更详细地呈现出在数据探索时所需使用的相关指令,我们利用sample4-1来说明指令的用法。
首先,利用前节所提及的数据输入方法将sample4-1读进STATA。
在正式分析数据之前,我们可以利用一个log档来储存之后所要执行的指令以及所得到的结果。
指令的表示方法如下:
logusingresult4-1,text(log檔的名稱為result4-1)
接下来,我们可以先利用下面的指令来检视sample4-1的数据:
count:
可得样本数。
describe:
描述数据来源以及数据大小。
list:
依序列出观察值的各个变量值。
codebook:
描述资料的详细内容。
此外,我们就可以利用summarize、tabulate和tabstat等指令得到数据的叙述统计与基本特性。
表示如下:
summarize:
列出资料的叙述统计。
Example:
summarizewrite,detail
sumwriteifread>=60(sum是summarize的简写)
sumwriteifprgtype=="academic"(接在if之后的句子中的”=”要放两个)
sumwritein1/40(只列出第1笔到第40笔资料)
tabulate:
列出变数的次数表。
Example:
tabulateprgtype
tabulateprgtyperace
tabulateprgtype,summarize(read)
tabulateprgtyperace,summarize(write)
tabstat:
列出变量的叙述统计。
Example:
tabstatreadwritemath,by(prgtype)stat(nmeansd)
tabstatwrite,stat(nmeansdp25p50p75)by(prgtype)
接下来,我们介绍一些用来划图的指令:
茎叶图:
stemwrite
stemwrite,lines
(2)
直方图:
graphwrite,bin(10)
graphwrite,histnormalbin(10)
箱形图:
graphwrite,box
sortprgtype(要先有这个指令才能执行下一个指令)
graphwrite,boxby(prgtype)
此外,利用correlate或是pwcorr可以得到相关矩阵;亦可利用graph划出散布图。
现在我们可以将log文件结束了,指令输入如下:
若欲检视log档中的结果,可以输入指令:
或是到所储存的目录下点选。
最后,将数据探索的相关指令整理成下表。
count
Showthenumberofobservations
describe
Describecontentsofdatainmemoryorondisk
list
Listvaluesofvariables
codebook
Detailedcontentsofadataset
log
Createalogfile
summarize
Descriptivestatistics
tabulate
One-&two-wayfrequencytables
tabstat
Tableofdescriptivestatistics
stem
Stem-and-leafplot
graph
Highresolutiongraphs
sort
Sortobservationsinadataset
hist
Histogramofacategoricalvariable
correlate
Correlations
pwcorr
Pairwisecorrelations
type
DisplayanASCIIfile
五、修饰资料(Modifyingdata)
在本小节中,我们亦利用sample4-1的数据进行说明。
首先,读进数据。
读完数据后,可以为此数据取个名称,指令如下:
labeldata"HighSchoolandBeyond,200cases"
现在我们可以将变量的顺序作一排列。
例如:
原先的变量顺序为gender、id和race…,但是我们想把顺序改成id、gender和race…,则可以下面的指令来执行:
orderidgender
在执行codebook时,我们会发现有些变量尚未加上卷标(label),为了更清楚地表达变量所代表的意义,我们可以执行以下的指令:
labelvariableschtyp"Thetypeofschoolthestudentattended."
现在,我们想要产生一个新变量total,此变量代表read、write和math的总和。
指令如下:
generatetotal=read+write+math
此外,若是我们想加总的分数是read、write和socst,而非read、write和math,此时的指令输入如下:
replacetotal=read+write+socst
另一方面,我们还可以将变量total表示成以等级(A、B、C、DandF)的形式。
指令如下:
为了记忆变量的意义为何,我们还可以利用note的方式来记录变量。
指令如下:
另外,介绍一些利用公式来产生变量的指令。
最后,我们可以将以上的执行结果储存下来。
指令如下:
savesample5-1(存成另一個檔)
savesample4-1(取代原來的sample4-1)
现在亦将数据修饰的相关指令整理成下表。
labeldata
Applyalabeltoadataset
order
Orderthevariablesinadataset
labelvariable
Applyalabeltoavariable
generate
Createsanewvariable
replace
Replacesonevaluewithanothervalue
recode
Recodethevaluesofavariable
Labelvalues
Applyvaluelabelstoavariable
labeldefine
Defineasetofalabelsforthelevelsofacategoricalvariable
notes
Applynotestothedatafile
egen
Extendedgenerate-hasspecialfunctionsthatcanbeusedwhencreatinganewvariable
save
StorethedatasetcurrentlyinmemoryondiskinStatadataformat
六、管理数据(Managingdata)
在本节中,我们将进一步介绍如何将数据作一些特殊的处理,例如:
保留所欲分析的数据、删除多余的数据或是将两份数据结合等等。
假设我们只想针对部分的数据进行处理,而又想保留原始资料时,则有以下两种方法可进行:
1、另存新檔:
亦即将所欲分析的部分数据储存在另一个档案中。
例如:
我们只针对read成绩大于或是等于60分的学生进行分析,则可利用下面的指令来筛选。
keepifread>=60
summarize
savesample6-1
Note:
当只要保留某些变量时,则利用指令keep。
例如:
keepreadwrite。
2、直接处理:
亦即在原始数据上进行分析。
承上例,指令输入如下:
preserve
dropifread<60
summarize
restore
Note:
若要删除某些变量时,则利用指令drop。
例如:
dropreadwrite。
接下来,我们介绍如何将两笔数据结合在一起。
数据的结合主要可以分为两种,水平合并和垂直合并。
前者是指变量的增加;后者则是指样本数的增加。
说明如下:
1、水平合并
2、垂直合并:
Note:
在垂直合并前要记得先sort。
最后,我们将数据修饰的相关指令整理成下表。
keepif
Keepobservationsifconditionismet
dropif
Dropobservationsifconditionismet
keep
Keepvariables(droppingothers)
drop
Dropvariables(keepingothers)
appendusing
Appendadatafiletocurrentfile
sort
Sortobservations
merge
Mergeadatafilewithcurrentfile
七、资料分析
透过前面几节的介绍,应该对于STATA的指令和使用方法有了基本的认识。
现在,我们开始说明如何利用STATA来处现统计上的问题以及计量方面的模型。
1、检定:
我们利用下面的例子来示范如何进行统计上的检定工作。
2、回归
在执行回归分析时所使用的指令为regress。
另外,当存在heterogeneityofvariance的问题时,可在后面加上robust;另外,若是不想放入截距项时,可在后面加上noconstant。
若欲得到残差值,可输入以下指令:
predicte,residual
3、二元选择模型
在执行二元选择模型时所使用的程序写法与执行回归分析时相同,只是所使用的指令不同。
在logit模型时为logit;在progit模型时为progit。
4、Treatmenteffectmodel
原则上,STATA在处理计量模型时,格式上大都一致,亦即〝指令被解释变量解释变量〞的输入型式。
我们再举一个计量模型来说明,例如:
在有关自我选择的问题时,为了考虑内生性的情形,计量学家提出了一个Treatmenteffectmodel,其指令的撰写如下:
由上述可知,STATA在使用上真的相当方便、容易,尤其对于初学者而言,更是一个相当值得推荐的软件包。
最后,整理一些STATA的相关网站以供参考:
.edu/stat/stata/default.htm
~erp/stata/main.html