第一天學(xué)習(xí)Stata軟件做數(shù)據(jù)分析
利用系統(tǒng)自帶的數(shù)據(jù)熟悉常用的命令
1十偶、導(dǎo)入數(shù)據(jù)
sysuse auto.dta
打開第一個源文件water1.dta菩鲜,將它按year排序,然后再另存為文件(再以覆蓋方式保存)
use bloomberg-1.dta, replace
sort year
save bloomberg-2.dta, replace
1.1查看數(shù)據(jù)(字段類型為數(shù)值惦积,字符串不行)的數(shù)量接校、平均數(shù)、標(biāo)準(zhǔn)差狮崩、最小值蛛勉、最大值
summarize [varlist][if][in][,options] //字段描述
summarize price //描述價格這個字段
sum price //簡寫的命令也可以被識別price是字段
1.2描述變量(字段)類型、格式爱只、標(biāo)簽
describe [varlist] // 字段描述
describe, short
count if price > 5000
isid varlist //檢查是否為識別標(biāo)簽恬试,類似于數(shù)據(jù)庫的主鍵
isid price //該字段是唯一值,不會報錯
isid mpg //不是唯一值疯暑,會報錯
unique var //需要安裝妇拯,用命令 ssc install unique
1.3tabstat
sysuse "nlsw88.dta", clear
\\\一維表形式如下:
tabstat wage hours age union race, stat(N mean sd min max) col(stat)
variable | N mean sd min max
-------------+--------------------------------------------------
wage | 2246 7.766949 5.755523 1.004952 40.74659
hours | 2242 37.21811 10.50914 1 80
age | 2246 39.15316 3.060002 34 46
union | 1878 .2454739 .4304825 0 1
race | 2246 1.282725 .4754413 1 3
----------------------------------------------------------------
\\\加入分組變量幻馁,匯報二維表形式:
tabstat wage hours age union race, by(married) stat(N mean sd min max) nototal long col(stat)
married variable | N mean sd min max
---------------------+--------------------------------------------------
single wage | 804 8.080765 6.336071 1.151368 40.19808
hours | 801 39.23845 9.099001 2 80
age | 804 39.21891 3.049911 34 46
union | 656 .2759146 .4473151 0 1
race | 804 1.404229 .5109335 1 3
---------------------+--------------------------------------------------
married wage | 1442 7.591978 5.399229 1.004952 40.74659
hours | 1441 36.09507 11.06107 1 80
age | 1442 39.1165 3.066058 34 45
union | 1222 .2291326 .4204468 0 1
race | 1442 1.214979 .4402987 1 3
------------------------------------------------------------------------
論文表1——基本統(tǒng)計量列表
Stata中神奇的bys!
2越锈、數(shù)據(jù)字典
codebook [varlist][if][in][,options] //數(shù)據(jù)字典
codebook price mpg
codebook pric if price > 5000
codebook price in 10/20
幫助信息,新窗口顯示幫助信息
help codebook
2.1、新增字段generate命令sum() 函數(shù)
clear
input x1 x2
1 2
2 4
3 6
4 8
end
gen sum_x1 = sum(x1)
gen sum_x2 = sum(x2)
list, clean noobs
從結(jié)果中可以看出甘凭,gen 提供的 sum() 函數(shù)是累計求和稀拐。
2.2 egen命令的sum() 和rsum()函數(shù)
egen sum_x1=sum(x1)
egen sum_x2=sum(x2)
egen rsum_x = rsum(x1 x2)
egen rtotal_x = rowtotal(x1 x2)
list , clean noobs
從結(jié)果中可以看出,egen 提供的 sum() 函數(shù)計算該變量的總和丹弱,rsum() 計算行數(shù)值的相加和德撬,rowtotal() 函數(shù)與 rsum() 功能一致。需要注意的是躲胳,rowtotal() 不能簡寫為 rtotal()蜓洪。
此外,egen 還提供了豐富的針對行操作的函數(shù)坯苹,如 rowfirst()隆檀、rowlast()、rowmax()、rowmean()刚操、rowmedian()闸翅、rowmin()、rowmiss()菊霜、rownonmiss()坚冀、rowpctile()、rowsd() 等鉴逞,詳細介紹可以通過 help egen 查看记某。
2.3egen和bys結(jié)合 分組計算和【三個變量,按兩個變量分組构捡,第三個變量求和】
bys kind year:egen type_TotalAmount = sum(type_sumAmount)
通過kind類別 和year年份將數(shù)據(jù)分組液南,然后新增一列type_TotalAmount 計算出type_sumAmount的總和
table kind year, c(n type_sumAmount mean type_sumAmount mean type_sumAmount )
得到如上圖的列表,但是想導(dǎo)出勾徽,嘗試了很多方法都沒有得到一個excel文件滑凉,導(dǎo)出的數(shù)據(jù)樣式會變,即便導(dǎo)出word喘帚、text畅姊、log等都不理想,
提示一個好方法:在展示框選中所有數(shù)據(jù)吹由,然后右鍵copy table 可以把數(shù)據(jù)的格式復(fù)制出來
2.4collapse命令若未,會覆蓋原有數(shù)據(jù),慎用倾鲫,
collapse (sum)type_sumAmount ,by(year kind)
sort kind year
這個沒有用table做出來的直觀粗合,后續(xù)遇到好的方法還會繼續(xù)更新
3、畫圖
3.1.histogram (直方圖)
histogram varname [if][in][weight][,[continuous_opts][discrete_opts]options]
//簡寫為 hist 最常用的三種形式
hist varname
hist varname乌昔,freq
density 密度 den
fraction 分?jǐn)?shù)/小數(shù) frac
frequency 頻率 freq
percent 百分比 per
hist vaname隙疚, by(varname2)
3.2.graph box/ graph hbox horizontal 水平的
graph box vars [if][in][weight][,options]
graph hbox vars [if][in][weight][,options]
graph hbox price mpg length
graph box price mpg length
3.3.小提琴圖,選裝 ssc install vioplot
vioplot price
vioplot price, over(foreign)
graph query schemes
stata 默認主題是s2color建議選用s1mono
set scheme s1mono //Stata重啟之前設(shè)置為s1mono
set scheme s1mono, perm //永久設(shè)置為s1mono (灰度圖像)
3.4.散點圖
[twoway] scatter varlist [if][in][weight][,options]
最基礎(chǔ)的形式: twoway scatter y x
進階形式; twoway scatter y1 y2 y3 ……x
twoway scatter weight length price
twoway scatter mpg weight, msymbol() mcolor() msize()
msymbol() 改變形狀 help symbolstyle
mcolor() 改變顏色 help colorstyle
msize() 改變大小 help markersizestyle
twoway scatter mpg weight price, msymbol(D) mcolor(red) msize(medium)
twoway scatter mpg length weight price, mcolor(black blue red) msize(medium)
twoway scatter mpg length weight price, by(foreign) mcolor(black blue red) msize(medium)
4.Twoway命令入門
sysuse uslifeexp, clear
help twoway
示例如下:
4.1帶散點的折線圖
twoway connected le year //帶散點的折線圖
twoway connected le_male le_female year
4.2垂直線圖
twoway dropline le year //垂直線圖
twoway dropline le_male le_female year
4.3脈沖圖,y2會覆蓋在y1上玫荣,
twoway spike le year //脈沖圖
twoway spike le le_male le_female year
twoway spike le le_female le_male year
4.4 面積圖 y2會覆蓋在y1上甚淡,注意下圖區(qū)別
twoway area le_male le_female year // y1會被覆蓋,看不到
twoway area le_female le_male year
4.5 lowess圖捅厂,相對于散點圖平滑曲線
twoway lowess le year //平滑曲線
lowess le year // 平滑曲線贯卦,疊加散點
4.6graph twoway lfit y x (y對x回歸的回歸直線)
5、統(tǒng)計描述指標(biāo)
ci mean : 連續(xù)變量mean的置信區(qū)間
proportion(可簡寫為prop):分類變量mean的置信區(qū)間
pwcoor:變量的配對相關(guān)性
graph matrix:相關(guān)性矩陣
示例
實力使用數(shù)據(jù)導(dǎo)入
sysuse auto, clear
5.1ci mean : 連續(xù)變量mean的置信區(qū)間
ci 是confidence intervals的縮寫焙贷,
ci means [varlist][if][in][weight][,options]
cii means #obs #mean #sd [,level(#)]
默認95%置信區(qū)間
ci mean mpg price, level(95)
cii mean 166 19509 4379, level(95)
5.2分類變量的置信區(qū)間:
choice 1
ci proportions [varlist][if][weight][,prop_options options]
ci prop foreign
缺點: ci prop 只能 用于二分類變量(binary)
ci rep78
choice 2
proportion 分類變量的置信區(qū)間
proportion varlist [if][in][weight][,options]
prop
默認95%置信區(qū)間
prop foreign
prop foreign rep78, miss //不忽略缺省值
6撵割、pwcorr查看變量的相關(guān)性
pwcorr [varlist][if][in][weight][,pwcorr_options]
pwcorr price headroom mpg displacement //考慮price、headroom辙芍、mpg啡彬、displacement這四個變量的相關(guān)性
如果要展示P值羹与,需要在后面加“, sig”
pwcorr price headroom mpg displacement, sig
pwcorr price headroom mpg displacement, star(0.05)
graph matrix繪制相關(guān)性矩陣
//geraph matrix varlist [if][in][weight][,options]
graph matrix price headroom mpg displacement
graph matrix price headroom mpg displacement, half
學(xué)習(xí)參考:
https://www.zhihu.com/question/35871900
https://zhuanlan.zhihu.com/p/54759702
常用命令
- 命令【1】:導(dǎo)入數(shù)據(jù)一般做實證分析使用的是excel中的數(shù)據(jù),其后綴名為.xls往踢,需要將其修改為.csv
insheet using name.csv, clear - 命令【2】:刪除重復(fù)變量
sort var1 var2
duplicatesdrop var1 var2, force - 命令【3】:合并數(shù)據(jù)(merge 合并)
use data1, clear
merge m:m var1 var2 using data2
drop if _merge==2
drop if _merge==1
drop _merge - 命令【4】:描述性統(tǒng)計分析
tabstat var1var2, stat(n min mean median p25 p75 max sd), if groupvar==0 or 1
輸出到word中:
logout, save(name) word replace: tabstat var, stat(n min mean p50 max sd) col(stat)f(%9.2g) - 命令【5】:結(jié)果輸出
安裝命令包
ssc install estout, replace
單個回歸
reg y x
esttab using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01)
多個回歸一起
reg y x1
est store m1
reg y x2
est store m2
esttab m1 m2 using name.rtf, compress nogap r2 ar2 star(* 0.1 ** 0.05 *** 0.01) - 【命令6】生成滯后腾誉、差分?jǐn)?shù)據(jù)
tsset code year
gen newvarname=l.varname
gen newvarname=d.varname - 【命令7】多重共線檢驗之方差膨脹因子
reg y x1 x2 x3
vif
【命令8】多重共線修正之逐步回歸
stepwise, pe(0.1): reg y x - 【命令9】檢驗是否遺漏高次項
reg y xestat ovtest
或者
estat ovtest, rhs
【命令10】 樣本檢驗兩樣本均值T檢驗
ttest var, by(groupvar)
兩樣本中位數(shù)Z檢驗
ranksum var, by(groupvar) - 【命令11】 生成虛擬變量
tab year, gen(year)
tab industry, gen(industry) - 【命令12】 數(shù)據(jù)縮尾處理
findit winsor2
之后安裝
winsor2 varname, replace cut(1 99) - 【命令13】異方差檢驗懷特檢驗
ssc install whitetst
reg y x1 x2
estat imtest, white
處理:“OLS+穩(wěn)健標(biāo)準(zhǔn)差”
reg y x1 x2 x3, robust - 【命令14】 DW檢驗
gen id=_n
tsset id
estat dwatson - 【命令15】計算兩個日期之間的間隔天數(shù)
gen td=date(trading_date,'YMD')
gen ed=date(eventdate,'YMD')
form td ed %td
gen d=ed-td