見出し画像

[Rによるデータ分析入門]msummaryとetableによる結果出力(2)

msummary()関数とetable()関数とは

Rでは回帰分析の推計結果を綺麗な表にまとめる関数が用意されており、lm()関数やglm()関数による推計結果をまとめる際に使われるのがmsummary()、fixestパッケージに含まれるfeolsの結果をまとめる際に使われるのがetable()です。
なおmodelsummaryについては以下を参照してください。

etable()の下準備

etable()はfixestパッケージに含まれる関数で、固定効果モデルや操作変数法を使用する際に使うfeolsなどと組み合わせます。まずはfixestをインストールしておきます。

本コラムでは、Cambodia-GSP.csvというデータを使ってパネルデータでカンボジアのアパレル製品の輸出を分析する固定効果モデルの推計を事例にetable()関数の使い方について説明します。スクリプト例はetable.Rです。

etable()関数の結果出力

etable.Rでは、library(fixest)でパッケージを呼び出し、そして、たとえば次のような固定効果モデルを推定する場合を考えます。

result1 <- fixest::feols(log(exp61)~eu_post+log(gdp)+log(gdppc)+tariff+fta|ctyid+year,data=dataf)
result2 <- fixest::feols(log(exp62)~eu_post+log(gdp)+log(gdppc)+tariff+fta|ctyid+year,data=dataf)

ここで推定結果のオブジェクトresult1, result2を出力するには、etable(result1,result2)
と入力します。すると次のような結果が出力されます。

カッコ内は標準誤差ですが、これを係数の右ではなく下に持ってくるには、
fixest::etable(result1,result2, se.below=TRUE)
とします。

回帰式を何本も横に並べる場合は、こちらのほうがスリムで見栄えがよい。

次に***の付け方を変更してみましょう。etableの場合5%水準で統計的に有意なら*で、10%なら.(ピリオド)です。有意水準が.(ピリオド)の場合、見落としてしまいがちなので変更しておきたいところです。また、経済学の論文では統計的な有意水準が1%、5%、10%なら、それぞれ***, **, *をつけることが多いので、これに変更する場合、
fixest::etable(result1,result2,
signif.code=c("***"=0.01,"**"=0.05,""=0.1),se.below = TRUE)
とします。

***の付き方が変更されていることに注意してください。

etable()関数の結果のEXCEL出力

最後にetable()でまとめた結果表をEXCELに出力する方法について紹介します。

result_tab <-fixest::etable(result1,result2, signif.code=c("***"=0.01,"**"=0.05,"*"=0.1),se.below = TRUE)
openxlsx::write.xlsx(result_tab,"result_tab.xlsx")

出力したEXCELファイルを開くと以下のような表が出てきます。あとはEXCELで整えて論文やスライドに貼り付ければOKです。

本コラムは「Rによるデータ分析入門」のWEBサポートページとして作成されました。WEBサポートの一覧は以下を参照してください。

WEBサポートの一覧は以下を参照してください。


この記事が気に入ったらサポートをしてみませんか?