stata使用手册Word格式.docx
《stata使用手册Word格式.docx》由会员分享,可在线阅读,更多相关《stata使用手册Word格式.docx(17页珍藏版)》请在冰点文库上搜索。
即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
記住文字的設定方式(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”執行即可。
inputidfemaleracesesstr3schtypeprogreadwritemathsciencesocst
147113pub14762535361
108012pub23433413636
18032pub35033494436
153012pub33931403951
50022pub25059425361
51121pub24236423139
102011pub15241515356
57112pub17165726656
160112pub15565555061
136012pub16559706351
end
4、利用STATA的資料型態輸入
除了以上三種方法之外,還可以開啟之前以STATA儲存的資料。
usesample1-6.dta
此一指令亦可用在讀取網路上的資料(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:
列出資料的敘述統計。
summarizewrite,detail
sumwriteifread>
=60(sum是summarize的簡寫)
sumwriteifprgtype=="
academic"
(接在if之後的句子中的”=”要放兩個)
sumwritein1/40(只列出第1筆到第40筆資料)
tabulate:
列出變數的次數表。
tabulateprgtype
tabulateprgtyperace
tabulateprgtype,summarize(read)
tabulateprgtyperace,summarize(write)
tabstat:
列出變數的敘述統計。
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劃出散佈圖。
correlatewritereadscience
pwcorrwritereadscience,obs
graphwriteread,twoway
graphwriteread,twojitter
(2)(two是twoway的簡稱,jitter是用來區分重疊的觀察點)
graphwriteread,twojitter
(2)box
graphreadsciencewrite,matrixhalf
現在我們可以將log檔結束了,指令輸入如下:
logclose
若欲檢視log檔中的結果,可以輸入指令:
typeresult4-1.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)的形式。
generategrade=total
recodegrade0/80=080/110=1110/140=2140/170=3170/300=4
labeldefineabcdf0"
F"
1"
D"
2"
C"
3"
B"
4"
A"
labelvaluesgradeabcdf
為了記憶變數的意義為何,我們還可以利用note的方式來記錄變數。
notesrace:
valuesofracecodedas5wererecodedtobemissing
notes(叫出note的指令)
另外,介紹一些利用公式來產生變數的指令。
egenzread=std(read)
summarizezread
listreadzreadin1/10
egenrmean=mean(read),by(ses)
listreadsesrmeanin1/10
egenmread=median(read),by(prog)
listreadprogmreadin1/10
最後,我們可以將以上的執行結果儲存下來。
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
當只要保留某些變數時,則利用指令keep。
keepreadwrite。
2、直接處理:
亦即在原始資料上進行分析。
承上例,指令輸入如下:
preserve
dropifread<
60
restore
若要刪除某些變數時,則利用指令drop。
dropreadwrite。
接下來,我們介紹如何將兩筆資料結合在一起。
資料的結合主要可以分為兩種,水平合併和垂直合併。
前者是指變數的增加;
後者則是指樣本數的增加。
說明如下:
1、水平合併
usesampleh1
appendusingsampleh2
2、垂直合併:
usesamplev1
sortid
savesamplev1,replace
usesamplev2,clear
save,replace
mergeidusingsamplev2
在垂直合併前要記得先sort。
最後,我們將資料修飾的相關指令整理成下表。
keepif
Keepobservationsifconditionismet
dropif
Dropobservationsifconditionismet
keep
Keepvariables(droppingothers)
drop
Dropvariables(keepingothers)
appendusing
Appendadatafiletocurrentfile
Sortobservations
merge
Mergeadatafilewithcurrentfile
七、資料分析
透過前面幾節的介紹,應該對於STATA的指令和使用方法有了基本的認識。
現在,我們開始說明如何利用STATA來處現統計上的問題以及計量方面的模型。
1、檢定:
我們利用下面的例子來示範如何進行統計上的檢定工作。
sample4-1:
ttestwrite=60
ttestwrite,by(gender)
ttestwrite,by(gender)unequal
sample7-1:
ttestbefore=after
2、迴歸
在執行迴歸分析時所使用的指令為regress。
usesample7-2
regressgrowthlnrlp84lnempoclnempcr4lnrdoc
另外,當存在heterogeneityofvariance的問題時,可在後面加上robust;
另外,若是不想放入截距項時,可在後面加上noconstant。
若欲得到殘差值,可輸入以下指令:
predicte,residual
3、二元選擇模型
在執行二元選擇模型時所使用的程式寫法與執行迴歸分析時相同,只是所使用的指令不同。
在logit模型時為logit;
在progit模型時為progit。
clear
usesample7-3
logitocrlpemptotrlp2emptot2rlpemplnrd
lstat
logitocrlpemptotrlp2emptot2rlpemplnrd,or
probitocrlpemptotrlp2emptot2rlpemplnrd
dprobitocrlpemptotrlp2emptot2rlpemplnrd
4、Treatmenteffectmodel
原則上,STATA在處理計量模型時,格式上大都一致,亦即〝指令被解釋變數解釋變數〞的輸入型式。
我們再舉一個計量模型來說明,例如:
在有關自我選擇的問題時,為了考慮內生性的情形,計量學家提出了一個Treatmenteffectmodel,其指令的撰寫如下:
treatreggrowthlnrlp84lnempoclnemplnrdcr4,treat(oc=rlp84emptotrlp842emptot2rlpempcr4lnrd)
treatreggrowthlnrlp84lnempoclnemplnrdcr4,treat(oc=rlp84emptotrlp842emptot2rlpempcr4lnrd)two
由上述可知,STATA在使用上真的相當方便、容易,尤其對於初學者而言,更是一個相當值得推薦的套裝軟體。
最後,整理一些STATA的相關網站以供參考:
http:
//www.ats.ucla.edu/stat/stata/default.htm
//www.princeton.edu/~erp/stata/main.html