stata結果導出

資料來源微信公眾號:爬蟲俱樂部、 stata連享會

結果輸出##

clear all //清空內存

set more off // 關閉more選項。

webuse nlswork,clear //導入網上數據

xtset idcode year //設置面板標識

tab year,gen(yd) //生成年份虛擬變量

*回歸1:未控制年份的OLS,對標準誤進行聚類修正

     reg ln_w age ttl_exp tenure not_smsa south, vce(cluster idcode)

     est store m1

*回歸2:控制年份的OLS,對標準誤進行聚類修正

     reg ln_w age ttl_exp tenure not_smsa south yd*, vce(cluster idcode)

     est store m2

*回歸3:控制年份的面板固定效應模型,對標準誤進行聚類修正

      xtreg ln_w age ttl_exp tenure not_smsa south yd*, fe vce(cluster idcode)

      est store m3


   local s "using $Out\Table11.csv"     // 指定存儲結果的 Excel  文檔名稱

   local m " m1 m2 m3 "               //指定"m1 m2 m3 " 為m


   esttab  `m' `s' , star(* 0.1 ** 0.05 *** 0.01) b(%6.3f) t(%6.3f) 
   compress nogap ///
   drop(yd*) stats(N r2_a, fmt(%12.0f  %9.3f)) varwidth(20) ///
    title("Table1 Wage") mtitle("OLS" "OLS" "FE")

注1:star選項可以對顯著性進行調整,此處表示10%,表示5%,*表示1%。

*注2:b(),t()選項分別為調整輸出系數和t值的格式,%6.3f表示,長度為6,小數3位。

*注3:compress和nogap選項可以壓縮行距和列距。

*注4:由于year是控制變量,我們也不想觀察其系數,故在輸出時使用drop()選項刪除。

*注5:stats()選項可以在輸出結果中增加行注釋或者回歸存儲值;這里我們輸出了觀測值個數N和調整后的R2,并為其設置顯示格式。

*注6:為了避免輸出時變量名缺省,我們使用varwidth()選項,設定輸出變量名長度為20。

*注7:title()和mtitle()選項可以設置表格標題以及模型的標題。

*輸出的表格很精美,然而仍有不足:1)沒有顯示是否控制年份;2)沒有顯示cluster;3)沒有顯示是否控制個體效應(Fixed Effect)。

*對于第一個問題,我們可以選擇使用indicate()選項來解決,命令和輸出結果如下:

    esttab  m* using $Out\Table12.csv , star(* 0.1 ** 0.05 *** 0.01) 
     b(%6.3f) t(%6.3f) compress nogap ///
      stats(N r2_a, fmt(%12.0f  %9.3f)) varwidth(20) indicate("Year 
     FE=yd*") ///
     title("Table1 Wage") mtitle("OLS" "OLS" "FE")

*對于第2和第3個問題,我們可以結合estadd命令來解決。其實esttab和estout是一個很強大的結果輸出命令系列,其選項是通用的,如果能夠靈活的搭配使用則會事半功倍。使用estadd對以上程序進行修改,具體細節請help estadd,修改后的程序如下:

clear

set more off

webuse nlswork,clear

xtset idcode year  

tab year,gen(yd)     

reg ln_w age ttl_exp tenure not_smsa south, vce(cluster idcode)

estadd local Cluster "Yes",replace      //顯示是否cluster

estadd local Fixed_Effect "No",replace  //顯示是否控制個體效應(Fixed 
Effect)

est store m1

reg ln_w age ttl_exp tenure not_smsa south yd*, vce(cluster idcode)

estadd local Cluster "Yes",replace      // 顯示是否cluster

estadd local Fixed_Effect "No",replace  //顯示是否控制個體效應(Fixed 
Effect)

est store m2

xtreg ln_w age ttl_exp tenure not_smsa south yd*, fe vce(cluster 
idcode)

estadd local Cluster "Yes",replace      //顯示是否cluster

estadd local Fixed_Effect "Yes",replace  //顯示是否控制個體效應(Fixed 
Effect)

est store m3


esttab  m* using $Out\Table20.csv , star(* 0.1 ** 0.05 *** 0.01) 
b(%6.3f) t(%6.3f) ///
compress nogap stats(Fixed_Effect Cluster N r2_a, fmt(%3s %3s 
%12.0f  %9.3f)) varwidth(20) ///
indicate("Year FE=yd*") title("Table1 Wage") mtitle("OLS" "OLS" "FE")

描述性統計、相關系數矩陣、組建均值差異檢驗和回歸結果四張常用表格如何快速輸出?

help sum2docx // 將描述性統計量表直接輸出到一個 docx 文件中;

help corr2docx // 將相關系數矩陣直接輸入到一個 docx 文件中;

help t2docx // 將分組均值t檢驗結果導出到一個 docx 文件中;

help reg2docx // 將回歸結果導出至 docx 文件中,用法類似于 esttab。

*下載只需在 Stata 命令窗口執行 ssc install **2docx, replace 即可。

*第一:輸出基本統計量: sum2docx 命令
語法結構
sum2docx varlist [if] [in] using ///
filename , [options]
*其中, varlist 指數值型變量列表, filename 指的是輸出的文件名,該命令的 options 非常豐富,可以根據需要選擇。

范例
sysuse auto,clear
sum2docx price-foreign using ///
    1.docx, append obs ///
    mean(%9.2f) sd min(%9.0g)///
    median(%9.0g) max(%9.0g) ///
    title("表 1: 描述性統計")
shellout 1.docx
  • 第二:輸出相關系數矩陣:corr2docx 命令
    語法結構
    corr2docx varlist [if] [in] using filename, [options]
    其中, varlist 指數值型變量列表, filename 指的是輸出的文件名。

    sysuse auto,clear
    corr2docx price-foreign using ///
      2.docx, star(* 0.05) ///
      fmt(%4.2f) ///
      title("表 2:相關系數矩陣")
    shellout 2.docx
    

    *第三:組間均值差異檢驗:t2docx 命令
    語法結構
    corr2docx varlist[if] [in] using filename [, options]
    其中, varlist 指數值型變量列表, filename 指的是輸出的文件名
    范例
    sysuse auto,clear
    t2docx price weight length mpg ///
    using 3.docx,replace ///
    by(foreign) ///
    title("表 3: t 檢驗")
    shellout 3.docx

*第四:reg2docx 命令可以將回歸結果保存到 .docx 文件中,用法類似于 esttab。先逐項回歸后再匯總至一個文件中。
范例
*-調入數據
sysuse "auto.dta", clear
//比如先做兩個線性回歸
reg price mpg weight length
est store m1
reg price mpg weight length foreign
est store m2
*-然后再做一個 Probit 回歸
probit foreign price weight length
est store m3
*-輸出結果至 Word 文檔
reg2docx m1 m2 m3 using result.docx, ///
ar2(%9.2f) b(%9.3f) t(%7.2f) r2(%9.3f) ///
title("表4: 回歸結果") replace
*-查看 Word 文檔
shellout result.docx

*第五:將上述四張表輸出至一個 Word 文檔中
基本思路
*(1) 用putdocx命令生成一個空白 Word 文檔 - [My_Table.docx],進而使用putdocx text等命令設定文檔屬性;

*(2) 用sum2docx生成「表 1」, 并使用sum2docx命令的append 選項將這張表追加到 [My_Table.docx] 文檔尾部;

*(3) 按第二步的方法, 依次使用 corr2docx, t2docx, reg2docx 命令添加后續表格.

*第六 寫作建議
*(1)寫論文正文時,新建一個 Word 文檔, 命名為: [My_Paper.docx]
*在需要插入表格的地方寫上[---------Table # Here--------],其中,# 表示表格編號;

*(2)Stata 自動生成的 表格 則存放于 另一個 Word 文檔: [My_Table.docx],
*里面存放 [Table 1], [Table 2], …..

*Stata 范例
*我們需要把上述四個基本表格匯總至一份 word 文檔里。

clear all
set more off
putdocx begin                     //新建 Word 文檔
putdocx paragraph, halign(center) //段落居中
*-定義字體、大小等基本設置
putdocx text ("附:文中待插入表格"), ///
    font("華為楷體",16,black) bold linebreak  
*-保存名為 My_Table.docx 的 Word 文檔        
putdocx save "My_Table.docx", replace

*-調入數據
sysuse "auto.dta", clear

*-----Table 1-----
 sum2docx price-length using "My_Table.docx", append ///
     obs mean(%9.2f) sd min(%9.0g) median(%9.0g) max(%9.0g) ///
     title("表 1: 描述性統計")
*-Note: 選項 append 的作用是將這張新表追加到 "My_Table.docx" 尾
部, 下同.

   *-----Table 2-----
putdocx begin
putdocx pagebreak
putdocx save "My_Table.docx", append

 corr2docx price-length using "My_Table.docx", append ///
      star(* 0.05) fmt(%4.2f) ///
      title("表 2:相關系數矩陣")

*-----Table 3-----
 putdocx begin
putdocx pagebreak
 putdocx save "My_Table.docx", append

t2docx price-length using "My_Table.docx", append ///
   by(foreign) title("表 3:組間均值差異 t 檢驗")

*-----Table 4-----
putdocx begin
putdocx pagebreak
putdocx save "My_Table.docx", append

reg price mpg weight length
est store m1
reg price mpg weight length foreign
est store m2
probit foreign price weight length
 est store m3
  reg2docx m1 m2 m3 using "My_Table.docx", append ///
     r2(%9.3f) ar2(%9.2f) b(%9.3f) t(%7.2f) ///
     title("表4: 回歸結果")

shellout "My_Table.docx"  //大功告成!打開生成的 Word 文檔

基本統計量

sysuse "nlsw88.dta", clear 
des //describe,  數據形態
des2 // 外部命令,很好用
sysuse "auto", clear // 調入 Stata 自帶數據文件
codebook // 數據概覽
compress // 自動精簡資料的存儲格式
sum //summarize, 基本統計量
fsum, s(mean sd p50 min max) cat(rep78 foreign) label // 外部命令 , 很
好用
bysort foreign: fsum price wei len // 分組統計
logout, save("$Out\Table1_sum") excel replace: ///
tabstat price wei len mpg turn foreign, ///
stat(mean sd p50 min max) format(%7.2f) column(statistic)

Note: (1) 上述三行要一起執行 ;
(2) logout 那一行的作用是把結果輸出到 excel 表格中 ;
(3) /// 是換行符

相關系數矩陣 , 官方命令

sysuse auto//導入數據
pwcorr price headroom mpg displacement
//  Estimate all pairwise correlations
 pwcorr price headroom mpg displacement, sig
 //Add significance level to each entry
 pwcorr price headroom mpg displacement, star(.01) bonferroni
 //Add   stars to correlations significant at the 1% level after Bonferroni 
adjustment
graph matrix  price headroom mpg displacement // 相關系數矩陣 ( 散點圖 )
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,278評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,241評論 2 375

推薦閱讀更多精彩內容