Stata: 輸出regression table到word和excel

Stata好像在台灣用的人不多,網路上看到的中文資料似乎很少,但它真的是個好物啊!如果用SPSS跑了regression之後,還要花很多時間畫成表格,但這點在stata只要下幾個指令就好了,然後就可以輸出成word檔(rtf格式)和excel檔,避免你打錯

網址:http://repec.org/bocode/e/estout/installation.html

使用方式:

    1. 安裝estout。最簡單的方式是在stata的指令輸入:
      ssc install estout, replace

 

    1. 跑你的regression(先跑一個就好,多個的要多下點指令)

      1.png

 

    1. 下這行指令esttab using test.rtf,然後就會出現個漂亮的表格給你。只要再小幅修改,就可以直接用了。這個檔案會存在my documentstata下。

      2.png

 

    1. 跑多個其實也不難,只要每跑完一個regression,你把它取個名字存起來:est store m1。m1是你要改的,第一個model所以我叫m1,第二個的話指令就變成est store m2。

 

    1. 如果你沒什麼特別需求,指令一樣esttab using test.rtf就行了。

      3.png

 

    1. 如果你跑了一系列的regression之後,要跑下一系列,記得打est clear,將你之前存的先清掉。所以指令像是這樣:

      est clear

      regression  …..

      est store m1

      regression …

      est store m2

      esttab * using test.rtf

 

    1. 如果你哪天需要的是excel檔,把test.rtf改成test.csv就行了。

 

76 thoughts on “Stata: 輸出regression table到word和excel”

  1. 你好,我是已經畢業的研究生XD

    由於最近需要使用STATA
    發現你的網誌內有豐富的資訊
    而且你本身也有很多使用經驗
    所以想跟你學習一下
    不知道你有沒有空呢?

    另外有空也歡迎來我的blog看看吧
    不過我很久沒更新了XD

  2. 您好,
    我是大二正在學習統計的學生,
    我們教授也是要我們學習使用stata,
    所以偶然看到有中文的網頁介紹stata時,
    真是有一股莫名的感動,
    希望可以有更多不同指令的介紹,
    真是太感謝啦~
    XD

  3. Dear 俊英,

    謝謝你的留言,也很高興認識stata的同好。stata的部分我有空會慢慢寫的,目前比較像是我遇到的一些小問題如何解決的過程,比較不像單一指令的介紹,所以是有遇到問題才寫,沒遇到問題就讓部落格繼續長草 XD

  4. 我會用了,只要把estab打在每個迴歸式下面就可以一次輸出了,但要怎麼樣把五條迴歸結果的報表輸出成一個rsf檔,而不是五個rsf,謝謝

  5. . estimates table a1 a2 a3 a4 a5 , b(%7.3f) star(.1 .05 .01)

    請問上述指令跑出的資料,可以輸出成一個rsf檔嗎?

    能讓輸出的報表包含 Adj R-squared 的嗎

  6. k9999 你好,

    我的文章其實寫了,你要跑5個regression,然後一起輸出成一個表。你的作法就是

    regress 第一個
    est store m1
    regress 第二個
    est store m2

    regress 第五個
    est store m5
    esttab * using test.rtf

    最後一行*就是輸出你前面est store所存的,這樣你5個regression就會在同一張表了。

  7. 我是做投資者情緒相關研究的,因為我有幾百條迴歸要跑,所以輸出成excel檔很麻煩,雖然R-square的值無法跟報表一起輸出,需要自已手動,但也省了很多功夫了,還好有站長幫忙,感謝。

    stata自學好像不是這麼容易,我看help檔都看不太懂,站長是如何自學的呢?

    站長有在研究tradestation嗎?

  8. adjusted r2 跟pseudo r2都可以從stataa輸出,指令分別是ar2和pr2。

    你可以試試這樣的指令:
    esttab * using xxx.csv, noobs ar2

    如果你還有特別的需求,我們可以在討論。我不用tradestation,但我用http://www.tradery.com/ 免費的技術分析網站,可寫程式,不過只是參考用,目前沒辦法幫你下單。

  9. hello站長!!
    真的太感謝您的po的每一篇有關stata的文章!! 真是太棒了!!
    不過我有個小小的問題想要請益
    我試著用你分享的方式去output regression
    但是這一招 對於logistic regression 好像不能用耶 ! 因為我希望跑出來的是odds ration 但似乎沒辦法! 有沒有什麼問題呢? 謝謝謝謝:) 

  10. 你好,請教一下,輸入
    esttab using test.rtf
    她有寫:
    (output written to test2.rtf)
    不過我按了之後他卻說找不到檔案
    直接去資料夾找也沒有。
    請問是什麼問題呢?
    還有怎麼讓顯著的數字上面有星星呢?
    我的表好像都沒有QQ
    不好意思,問了很多
    謝謝你。

  11. @collins,

    我不大清楚你的問題是stata沒有產生rtf還是rtf內容是空的?你可以把你前面幾行給我看一下嗎?

    另外,用esttab前要先用est store m1之類的存起來,然後用esttab * using test.rtf才對。

    如果沒回答到你的問題,請再發問。

  12. 您好,之前的已經可以輸出了,真的非常感謝你!!
    為了表達對你的感激,我可以再提出問題嗎?XD
    就是阿,
    1.我用order logit跑完之後
    他在主要變數的下面,還會出現
    /cut1 …. …. …是數字
    /cut2 …
    .
    .
    想請問這些是代表什麼意思?為什麼會跑出來呢?

    2. 用ordered logit跑出來的結果在螢幕上它是寫Z值,不過輸出之後他下面是寫
    t statistics in parentheses
    那它的Z為什麼不是寫t呢?

    感謝 你的網誌對我幫助很大喔!stata輸出表格真是太方便了!

  13. 可參考這裡的說明:http://www.ats.ucla.edu/stat/stata/output/stata_ologit_output.htm
    主要是讓你分出有低、中、高三組

    因為是用預設的設定,所以只要是那個地方,它就會認為是t,反正都是coef與Standard error的ratio,要z的話自己改就好了。

  14. 你好
    因為我想要我的*是0.1 **是0.05 ***是0.01
    但我用esttab * using test.rtf 出來的*是0.05 **0.01 ***0.001
    因此我想請問 我應該要加star(.1 .05 .01)嗎?謝謝

  15. 你好,

    謝謝你的回答,真的很有用。
    我可以再請教你一個問題嗎
    我的變數現在發生了異質性的問題
    可以教導我該如何解決嗎?

    謝謝你~非常感恩

  16. 您好,
    請問一下
    最近我一次要跑上千條回歸式
    而每條回歸式的應變數與自變數均相同
    所以我用by varlist:reg的方式,就可以一次跑完上千條回歸式
    但因我需要擷取每條回歸式的係數
    如果用前述一次跑完上千條回歸式再est store的話,esttab出來只會是stata最後跑得那條回歸式的係數,請問我要用何種指令才能一次將上千條回歸式的係數擷取出來呢?謝謝~~

  17. 站長,你好~
    可以請教一個問題嗎?要怎樣才能把緊接在probit regression之後的marginal effect的結果變成表格呢?我有大概6組結果希望能放在同一張表格里.非常謝謝你~~~

  18. Hi chien,

    請參考這:http://repec.org/bocode/e/estout/advanced.html 的Indicate whether groups of control variables are in the model or not和Display reference category information

    Hi EliesJ,

    請看這裡:http://repec.org/bocode/e/estout/advanced.html 的marginal effect的部分。

  19. 您好.請問一下.
    您用esttab using test.rtf指令跑出來的上面是係數和*號,而下面是(t-value),請問是否有指令把下面改成(p-value)而p-value 的值是否能到小數點後第五或六位

  20. 您好:
    我想請問一下,我用statsby分產業跑完迴歸後stata會給我一個新檔,請問那個新檔可以對每個產業的迴歸係數標顯著符號嗎(標星星),以及statsby結果的那個檔案要如何匯出呢?我用esttab好像不太行,謝謝!!

  21. 在copy & paste Stata output 多年以來,拜讀你的文章真有相見恨晚之感,唉如果早點學會就可以省掉多少打括號和星號的時間啊!
    幸好在我做論文此時發現了esttab,真是太感謝了!

  22. 您好,感謝你所提供的資料,再此想請教一個問題,如果我表格內的括號想要選擇的是coef.的話要怎麼處理呢 ,因為按照你的方法下去做出來表格內的括號是std. Err,能有方法來處理嗎?感謝你了

  23. hello,有個問題想請問
    sttab using test.rtf指令跑出來的上面是係數和*號,而下面是(t-value),請問是否有指令把下面改成(p-value),並且更改顯著水準為*是0.1 **是0.05 ***是0.01 謝謝

  24. 請問一下版大,我是用stata跑panel probit regression,跑出的結果中有:Likelihood-ratio test of rho=0: chibar2(01) = 0.63 Prob >= chibar2 = 0.213,請問要如何解釋呢?還有一個欄位是sigma_uepep跟rho,不知此兩欄位的意義?
    另外用estout輸出後,有把欄位lnsig2u_cons的值跟Z值輸出,請問這個欄位的意義是什麼呢?
    還麻煩您撥冗回覆~~萬分感謝!

  25. 謝謝版大的回覆!
    我已有去您附的連結網站看過,但裡面沒有針對panel data的部分做說明,不知同樣跑出的likelihood ratio chi-square 跟 p-value的解釋是否一樣?因我跑出來的likelihood ratio的P值都大於0.1耶?許多甚至到0.3~0.5?裡面還有三個欄位lnsig2u
    _cons跟sigma_u跟rho不知道是什麼意思?
    還請版大以您的經驗解惑啊!

  26. @Henry Wang,

    你是用哪個指令作的?xtprobit嗎?

    likelihood ratio chi-square 跟 p-value 的解釋就依照你正常解釋probit,沒什麼特別的。likelihood ratio 的 p 大於 0.1 很意外嗎?就說明沒有 significant 而已。

    下面三個值基本上跟xtreg的解讀有點像:請參閱http://newgenerationresearcher.blogspot.com/2010/01/stata-xtreg.html

  27. 請問
    我是用6個group跑回歸
    by group regress fee asset cost
    store m3
    我發現我無法輸出群組的報表
    而就m3而言他的資料為最後一群組的資料
    我要怎麼樣才能分別呈現每個group資料??
    謝謝

  28. 您好 我目前是研究所學生
    在論文上使用到STATA
    我使用2SLS的計量方法
    在eattab匯出表格時 檔案中只會顯示第二階段的迴歸結果
    (在stata run時 有呈現出第一階段的結果)
    請問一下 如果我想要在檔案中一併呈現第一階段的結果
    應該要加上什麼指令
    謝謝!!

  29. 請問版主,
    因為我用的迴歸指令是"xtivreg2"
    這個指令會產生兩個tables,但是用estout只會產生一個table給我,假如我兩個tables都需要輸出,且還要知道"F test of excluded instruments"的F值,請問這該怎麼讓這些其他資訊也一併輸出呢? 謝謝。

  30. 我想請問一下,因素分析主要在求得問卷的建構效度,但是建構效度是一因素分析後的什麼數值來分析呢?第二個問題是,因素分析完以後,萃取出來的因素,所產生的累積解釋變異量,主要在解釋什麼呢?謝謝

  31. 您好
    我想請問一下
    因為我想要把輸出的表格
    誇號內改成standard error
    又想把顯著性的*號改成 P<0.1* P<0.05** P<0.01***
    上面回覆都有指令可以分開作

    可是如果要同時改兩樣東西
    存成一份檔案時
    這樣指令要怎麼打呢?
    謝謝你><

  32. 您好!
    我是初学者,你提供的方法非常有效,但是我在第二次使用使用. esttab using test.rtf
    结果显示file test.rtf already exists。 请问,这是怎么回事呢?很是初步的问题,不好意思。。。

  33. to吳:
    可以考慮用Stata的另一個指令outreg2,來匯出2SLS第一階段回歸結果
    (用esstab這個指令目前找不到可以直接匯出2SLS第一階段回歸結果的方法orz),
    只是這必須要搭配Stata的另外一個指令ivreg2才能完成XD.

    底下簡單說明執行步驟:
    1.先在Stata輸入help outreg2, 從輸出結果把outreg2這個附件安裝好(選最新版本安裝即可)

    2.接著在Stata輸入help ivreg2, 從輸出結果把ivreg2這個附件安裝好(選最新版本安裝即可)

    3.接著在Stata執行你的2SLS的回歸指令:
    ivreg2 A (B=C) X, savefirst

    //其中ivreg2是2SLS的主指令; A是第二階段的被解釋變數; B是第一階段的被解釋變數;
    //C是2SLS中的工具變數; X是兩個階段中的共同解釋變數;
    //savefirst表示把第一階段的回歸結果儲存

    4.estimates replay _ivreg2_B
    //estimates replay表示把估計結果重新展示(replay)//
    //_ivreg2_B 表示把重新展示的結果存檔,檔名為_ivreg2_B, 其中B為第一階段的被解釋變數,視實際變數名稱為何,鍵入實際的變數名稱//

    5.outreg2 [_ivreg2_B] using name, excel
    // 輸出第一階段的結果//
    // [ ] 這兩個符號為必須的輸入//
    // 其中name為你所想要存檔的名稱,自行輸入想要存的名稱即可//
    // excel為所欲儲存的檔案格式(也可以存成word檔)//

    6.outreg2
    //輸出第二階段的結果(如果有需要的話)//

    7.其他詳細的設定(ex:表格表頭的名稱設定, 每一行行頭的名稱設定)
    可以用help 關鍵詞
    找來看XD

  34. 您好 不好意思請教一下
    如果想把(t-value)和常數項同時取到4位數並且更改顯著水準為*是0.1 **是0.05 ***是0.01的話 語法有辦法一次改嗎?需要怎麼改呢?

  35. 您好

    最近在學習putexcel這個指令
    想要將survival model(即sts list)的log檔輸出成想要的excel格式
    而非單純的直接輸出

    發現手冊上面提到的範例是描述性統計、two way及regression
    沒有提及survival function

    請問該如何利用putexcel將sts list的log轉成excel檔呢?
    (雖然可以直接export,但因為putexcel似乎可以修改表格文字或只選取所需要的數據)

  36. 版主你好 你的文章都讓我獲益良多
    最近碰到一個問題想請教
    我用probit model並使用margin跑出dx/dy
    請問有辦法像輸出成reg table一樣將margin表輸出到word或是excel嗎?
    上網查了很久都找不到方法 感謝

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top