2017-05-17 10 views
2

lmモデルのクラスタ化されたSEを表示するには、stargazerを取得する方法を知っている人はいませんか?可能であれば、私はでheteroskedasticity-robust SEを計算し、http://jakeruss.com/cheatsheets/stargazer.html#robust-standard-errors-replicating-statas-robust-optionのようにstargazerにそれらをポップするのと同様のアプローチに従いたいと思います。Stargazerのクラスターロバストスタンダードエラー

私は回帰モデルを得るためにlmを使用しています。私は企業(回帰モデルに含まれていない因子変数)によってクラスタリングしています。私はまた、NAの値の束を持っているので、私はmultiwayvcovがベストパッケージになると思うようになります(ここではランドローニの答えの一番下に - Double clustered standard errors for panel data - そしてhttps://sites.google.com/site/npgraham1/research/codeも参照してください)?私はplmを使用したくないことに注意してください。

編集:私は、私はmultiwayvcovパッケージを使用して解決策を見つけたと思う...このアプローチの

library(lmtest) # load packages 
library(multiwayvcov) 

data(petersen) # load data 
petersen$z <- petersen$y + 0.35 # create new variable 

ols1 <- lm(y ~ x, data = petersen) # create models 
ols2 <- lm(y ~ x + z, data = petersen) 

cl.cov1 <- cluster.vcov(ols1, data$firmid) # cluster-robust SEs for ols1 
cl.robust.se.1 <- sqrt(diag(cl.cov1)) 
cl.wald1 <- waldtest(ols1, vcov = cl.cov1) 

cl.cov2 <- cluster.vcov(ols2, data$ticker) # cluster-robust SEs for ols2 
cl.robust.se.2 <- sqrt(diag(cl.cov2)) 
cl.wald2 <- waldtest(ols2, vcov = cl.cov2) 

stargazer(ols1, ols2, se=list(cl.robust.se.1, cl.robust.se.2), type = "text") # create table in stargazer 

唯一の欠点は、あなたが手動で各モデルのwaldtest()出力からF-統計情報を再入力する必要があります。

答えて

5

パッケージlmtestとmultiwayvcovを使用すると、多くの不必要なオーバーヘッドが発生します。 Rのクラスター化された標準エラーを計算する最も簡単な方法は、修正されたsummary()関数です。この機能を使用すると、従来のsummary()機能にclusterという追加のパラメータを追加できます。以下の記事は、Rでクラスタ化された標準誤差を計算するために、この機能を使用する方法について説明します。

https://economictheoryblog.com/2016/12/13/clustered-standard-errors-in-r/

あなたは簡単に要約機能は、クラスタ化された標準誤差を取得し、スターゲイザー出力に追加することができます。あなたの例に基づいて、単に次のコードを使用することができます:

# estimate models 
ols1 <- lm(y ~ x) 

# summary with cluster-robust SEs 
summary(ols1, cluster="cluster_id") 

# create table in stargazer 
stargazer(ols1, se=list(coef(summary(ols1,cluster = c("cluster_id")))[, 2]), type = "text") 
関連する問題