Chapter 15 パネルデータ分析(作成中)
本章では、パネルデータ分析の基礎について説明する。
内容に入る前に、右上のプロジェクトのボックスの横が、前章で作成したプロジェクトの名前(たとえば、seminar_sociology_r)になっているかどうかを確認しておこう。なっていない場合は、右上のボックスをクリックして、「Open Project…」を選択し、前章で作成したRprojファイル(たとえば、seminar_sociology_r.Rprojといったような名前になっている)を選んで、プロジェクトを切り替えよう。
さらに、これまでの章で説明した以下のパッケージを読み込んだ上で、第4章で作成したデータを読み込んでpiaacというデータフレームに入れていることを前提とする。具体的には、以下のコードを実行しておく必要がある。
本章では新たに以下のパッケージを利用する。あらかじめインストールしておくこと。
パッケージを読み込んでおく。
15.1 パネルデータとは
15.1.1
アメリカ労働統計局が実施しているNational Longitudinal Survey of Youth(NLSY)のデモデータを利用する。このデータには、1969年時点で14歳から26歳の女性が含まれている。
## Rows: 28,534
## Columns: 21
## $ idcode <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2…
## $ year <dbl> 70, 71, 72, 73, 75, 77, 78, 80, 83, 85, 87, 88, 71, 72, 73, 7…
## $ birth_yr <dbl> 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 5…
## $ age <dbl> 18, 19, 20, 21, 23, 25, 26, 28, 31, 33, 35, 37, 19, 20, 21, 2…
## $ race <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
## $ msp <dbl> 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ nev_mar <dbl> 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
## $ grade <dbl> 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 1…
## $ collgrad <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
## $ not_smsa <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
## $ c_city <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ south <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
## $ ind_code <dbl> 6, 4, 4, 4, 5, 12, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, …
## $ occ_code <dbl> 3, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 3, 3, 6, 6, 6, 6, 6, 6, 6…
## $ union <dbl> NA, NA, 1, NA, NA, 0, NA, 1, 1, 1, 1, 1, 0, NA, NA, NA, 1, 1,…
## $ wks_ue <dbl> 2, 22, 0, 0, 0, 0, 7, 0, NA, 0, 0, 0, 19, 6, 35, 0, 0, 0, NA,…
## $ ttl_exp <dbl> 1.0833333, 1.2756410, 2.2564101, 2.3141024, 2.7756410, 3.7756…
## $ tenure <dbl> 0.08333334, 0.08333334, 0.91666669, 0.08333334, 0.16666667, 1…
## $ hours <dbl> 20, 44, 40, 40, 10, 32, 52, 45, 49, 42, 45, 48, 40, 40, 40, 4…
## $ wks_work <dbl> 27, 10, 51, 3, 24, 52, 4, 75, 101, 97, 95, 70, 13, 22, 17, 39…
## $ ln_wage <dbl> 1.451214, 1.028620, 1.589977, 1.780273, 1.777012, 1.778681, 2…
15.1.2 パネルデータの特徴
## # A tibble: 20 × 3
## idcode age ln_wage
## <dbl> <dbl> <dbl>
## 1 1 18 1.45
## 2 1 19 1.03
## 3 1 20 1.59
## 4 1 21 1.78
## 5 1 23 1.78
## 6 1 25 1.78
## 7 1 26 2.49
## 8 1 28 2.55
## 9 1 31 2.42
## 10 1 33 2.61
## 11 1 35 2.54
## 12 1 37 2.46
## 13 2 19 1.36
## 14 2 20 1.21
## 15 2 21 1.55
## 16 2 23 1.83
## 17 2 25 1.73
## 18 2 26 1.69
## 19 2 28 1.73
## 20 2 30 1.81
model_ols <- lm(data = nls, ln_wage ~ age + race + collgrad + union)
model_fe <- feols(data = nls, ln_wage ~ age + race + collgrad + union | idcode)## NOTES: 9,305 observations removed because of NA values (RHS: 9,305).
## 665 fixed-effect singletons were removed (665 observations).
## The variables 'race' and 'collgrad' have been removed because of collinearity
## (see $collin.var).
| (1) | (2) | |
|---|---|---|
| + p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001 | ||
| (Intercept) | 1.470*** | |
| (0.018) | ||
| age | 0.010*** | 0.015*** |
| (0.000) | (0.000) | |
| race | -0.108*** | |
| (0.006) | ||
| collgrad | 0.379*** | |
| (0.008) | ||
| union | 0.209*** | 0.106*** |
| (0.007) | (0.007) | |
| Num.Obs. | 19229 | 18564 |
| R2 | 0.188 | 0.741 |
| R2 Adj. | 0.188 | 0.682 |
| R2 Within | 0.096 | |
| R2 Within Adj. | 0.096 | |
| AIC | 21351.2 | 6083.5 |
| BIC | 21398.4 | 33383.1 |
| Log.Lik. | -10669.608 | |
| RMSE | 0.42 | 0.24 |
| Std.Errors | IID | |
| FE: idcode | X | |
model1 <- lm(data = nls, ln_wage ~ age + race + collgrad + union)
model2 <- feols(data = nls, ln_wage ~ age + race + collgrad + union,
panel.id = "idcode", vcov = "cluster")## NOTE: 9,305 observations removed because of NA values (RHS: 9,305).
model3 <- feols(data = nls, ln_wage ~ age + race + collgrad + union | idcode,
panel.id = "idcode", vcov = "cluster")## NOTES: 9,305 observations removed because of NA values (RHS: 9,305).
## 665 fixed-effect singletons were removed (665 observations).
## The variables 'race' and 'collgrad' have been removed because of collinearity
## (see $collin.var).
| (1) | (2) | (3) | |
|---|---|---|---|
| + p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001 | |||
| (Intercept) | 1.470*** | 1.470*** | |
| (0.018) | (0.027) | ||
| age | 0.010*** | 0.010*** | 0.015*** |
| (0.000) | (0.001) | (0.001) | |
| race | -0.108*** | -0.108*** | |
| (0.006) | (0.013) | ||
| collgrad | 0.379*** | 0.379*** | |
| (0.008) | (0.015) | ||
| union | 0.209*** | 0.209*** | 0.106*** |
| (0.007) | (0.013) | (0.010) | |
| Num.Obs. | 19229 | 19229 | 18564 |
| R2 | 0.188 | 0.188 | 0.741 |
| R2 Adj. | 0.188 | 0.188 | 0.682 |
| R2 Within | 0.096 | ||
| R2 Within Adj. | 0.096 | ||
| AIC | 21351.2 | 21349.2 | 6083.5 |
| BIC | 21398.4 | 21388.5 | 33383.1 |
| Log.Lik. | -10669.608 | ||
| RMSE | 0.42 | 0.42 | 0.24 |
| Std.Errors | by: idcode | by: idcode | |
| FE: idcode | X | ||