Stargazer

stargazer は 統計表や回帰表のlatexコードやhtmlコードを簡単に作成するRのパッケージである. ホームページは以下にある.

https://sites.google.com/site/marekhlavac/stargazer

以下のチートシートをみれはどのようにすればよいか簡単にわかる.

http://jakeruss.com/cheatsheets/stargazer.html

簡単に使い方を示す. まずはライブラリの導入. パッケージ AER も導入しておく.

library(stargazer)
library(AER)

つぎに, パッケージ AER にあるデータをつかう.
これはカリフォルニア州の小学校のデータである.
先生一人あたりの生徒の比率をしめす変数 stratio と,
学力の指標として算数と国語の平均 score をつくる.

data("CASchools", package = "AER")
CASchools$stratio <- with(CASchools, students/teachers)
CASchools$score <- with(CASchools, (math + read)/2)

統計表は以下の通りである.

stargazer(CASchools, type="html")
Statistic N Mean St. Dev. Min Max
students 420 2,628.793 3,913.105 81 27,176
teachers 420 129.067 187.913 4.850 1,429.000
calworks 420 13.246 11.455 0.000 78.994
lunch 420 44.705 27.123 0.000 100.000
computer 420 303.383 441.341 0 3,324
expenditure 420 5,312.408 633.937 3,926.070 7,711.507
income 420 15.317 7.226 5.335 55.328
english 420 15.768 18.286 0.000 85.540
read 420 654.970 20.108 604.500 704.000
math 420 653.343 18.754 605.400 709.500
stratio 420 19.640 1.892 14.000 25.800
score 420 654.157 19.053 605.550 706.750

スコアが先生一人あたりの比率に回帰させて, 少人数教育の学力に対する効果を計測する.
いくつかの変数をコントロールする.


fm1 <- lm(score ~ stratio, data = CASchools)
fm2 <- lm(score ~ stratio + english, data = CASchools)
fm3 <- lm(score ~ stratio + english + lunch, data = CASchools)
fm4 <- lm(score ~ stratio + english + calworks, data = CASchools)
fm5 <- lm(score ~ stratio + english + lunch + calworks, data = CASchools)

図表をまとめるとつぎのようになる.


stargazer(fm1,fm2,fm3,fm4,fm5, type="html")

 

Dependent variable:
score
(1) (2) (3) (4) (5)
stratio -2.280*** -1.101*** -0.998*** -1.308*** -1.014***
(0.480) (0.380) (0.239) (0.307) (0.240)
english -0.650*** -0.122*** -0.488*** -0.130***
(0.039) (0.032) (0.033) (0.034)
lunch -0.547*** -0.529***
(0.022) (0.032)
calworks -0.790*** -0.048
(0.053) (0.061)
Constant 698.933*** 686.032*** 700.150*** 697.999*** 700.392***
(9.467) (7.411) (4.686) (6.024) (4.698)
Observations 420 420 420 420 420
R2 0.051 0.426 0.775 0.629 0.775
Adjusted R2 0.049 0.424 0.773 0.626 0.773
Residual Std. Error 18.581 (df = 418) 14.464 (df = 417) 9.080 (df = 416) 11.654 (df = 416) 9.084 (df = 415)
F Statistic 22.575*** (df = 1; 418) 155.014*** (df = 2; 417) 476.306*** (df = 3; 416) 234.638*** (df = 3; 416) 357.054*** (df = 4; 415)
Note: *p<0.1; **p<0.05; ***p<0.01

Introduction to Econometrics, Update
の 表7.1と比較すると, 係数の推定値を
再現できている. しかしこれだと分散不均一を考慮にしれた分析にならない. それゆえロバスト分散を計算する.

rse1 <- sqrt(diag(vcovHC(fm1, type = "HC1")))
rse2 <- sqrt(diag(vcovHC(fm2, type = "HC1")))
rse3 <- sqrt(diag(vcovHC(fm3, type = "HC1")))
rse4 <- sqrt(diag(vcovHC(fm4, type = "HC1")))
rse5 <- sqrt(diag(vcovHC(fm5, type = "HC1")))

そのうえで以下のようにすれば
Introduction to Econometrics, Update
の 表7.1をほぼ再現できる.

stargazer(fm1,fm2,fm3,fm4,fm5, type="html",se=list(rse1,rse2,rse3,rse4,rse4))
Dependent variable:
score
(1) (2) (3) (4) (5)
stratio -2.280*** -1.101** -0.998*** -1.308*** -1.014***
(0.519) (0.433) (0.270) (0.339) (0.339)
english -0.650*** -0.122*** -0.488*** -0.130***
(0.031) (0.033) (0.030) (0.030)
lunch -0.547*** -0.529
(0.024)
calworks -0.790*** -0.048
(0.068) (0.068)
Constant 698.933*** 686.032*** 700.150*** 697.999*** 700.392***
(10.364) (8.728) (5.568) (6.920) (6.920)
Observations 420 420 420 420 420
R2 0.051 0.426 0.775 0.629 0.775
Adjusted R2 0.049 0.424 0.773 0.626 0.773
Residual Std. Error 18.581 (df = 418) 14.464 (df = 417) 9.080 (df = 416) 11.654 (df = 416) 9.084 (df = 415)
F Statistic 22.575*** (df = 1; 418) 155.014*** (df = 2; 417) 476.306*** (df = 3; 416) 234.638*** (df = 3; 416) 357.054*** (df = 4; 415)
Note: *p<0.1; **p<0.05; ***p<0.01

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中