library('wooldridge')
library(rmarkdown)
data("airfare")
paged_table(airfare)
library(plm)
panel.airfare <- pdata.frame(airfare, index = c("id", "year"))
pdim(panel.airfare)
## Balanced Panel: n = 1149, T = 4, N = 4596
reg_ols<- plm(lpassen ~ fare + dist + passen + bmktshr + I(ldist^2) + year, data = panel.airfare, model = "pooling")
reg_fe<- plm(lpassen ~ fare + dist + passen + bmktshr + I(ldist^2) + year, data = panel.airfare, model = "within")
reg_re<- plm(lpassen ~ fare + dist + passen + bmktshr + I(ldist^2) + year, data = panel.airfare, model = "random")
library(stargazer)
##
## Please cite as:
## Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables.
## R package version 5.2.3. https://CRAN.R-project.org/package=stargazer
stargazer(reg_ols, reg_fe, reg_re, type = "text")
##
## ===============================================================================
## Dependent variable:
## ------------------------------------------------------------------
## lpassen
## (1) (2) (3)
## -------------------------------------------------------------------------------
## fare -0.001*** -0.004*** -0.003***
## (0.0001) (0.0001) (0.0001)
##
## dist 0.0001** 0.0003***
## (0.00004) (0.0001)
##
## passen 0.001*** 0.001*** 0.001***
## (0.00001) (0.00002) (0.00001)
##
## bmktshr 0.223*** 0.161*** 0.200***
## (0.047) (0.040) (0.038)
##
## I(ldist2) 0.001 -0.004
## (0.003) (0.006)
##
## year1998 0.004 0.015** 0.010
## (0.021) (0.006) (0.006)
##
## year1999 0.018 0.051*** 0.034***
## (0.021) (0.006) (0.006)
##
## year2000 0.041* 0.110*** 0.079***
## (0.021) (0.007) (0.007)
##
## Constant 5.370*** 5.858***
## (0.110) (0.196)
##
## -------------------------------------------------------------------------------
## Observations 4,596 4,596 4,596
## R2 0.677 0.450 0.515
## Adjusted R2 0.676 0.266 0.514
## F Statistic 1,199.361*** (df = 8; 4587) 469.900*** (df = 6; 3441) 4,875.385***
## ===============================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
phtest(reg_fe, reg_re)
##
## Hausman Test
##
## data: lpassen ~ fare + dist + passen + bmktshr + I(ldist^2) + year
## chisq = 253.23, df = 6, p-value < 2.2e-16
## alternative hypothesis: one model is inconsistent
SORU 2
library(wooldridge)
library(rmarkdown)
data("murder")
paged_table(murder)
library(plm)
murder.panel<- pdata.frame(murder, index = c("state", "year"))
pdim(murder.panel)
## Balanced Panel: n = 51, T = 3, N = 153
murder1<- plm(mrdrte~exec+unem, data = murder.panel, model = "within")
summary(murder1)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = mrdrte ~ exec + unem, data = murder.panel, model = "within")
##
## Balanced Panel: n = 51, T = 3, N = 153
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -27.886739 -0.473005 0.059857 0.594079 14.202250
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## exec -0.114074 0.180084 -0.6335 0.5279
## unem 0.095914 0.280072 0.3425 0.7327
##
## Total Sum of Squares: 1311.5
## Residual Sum of Squares: 1305.3
## R-Squared: 0.0046814
## Adj. R-Squared: -0.51288
## F-statistic: 0.235172 on 2 and 100 DF, p-value: 0.79087
require(dplyr)
## Loading required package: dplyr
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:plm':
##
## between, lag, lead
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
model_90_93<- filter(murder.panel, year %in% c(90,93))
paged_table(model_90_93)
murder2<- plm(mrdrte~exec+unem, data = model_90_93, model = "pooling")
summary(murder2)
## Pooling Model
##
## Call:
## plm(formula = mrdrte ~ exec + unem, data = model_90_93, model = "pooling")
##
## Balanced Panel: n = 34, T = 3, N = 102
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -12.91596 -3.39376 -1.17720 0.81388 67.59155
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) -4.88906 4.40781 -1.1092 0.270039
## exec 0.11491 0.26281 0.4372 0.662890
## unem 2.28750 0.74027 3.0901 0.002598 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 11401
## Residual Sum of Squares: 10340
## R-Squared: 0.093093
## Adj. R-Squared: 0.074771
## F-statistic: 5.0811 on 2 and 99 DF, p-value: 0.0079316
murder3<- plm(mrdrte~exec+unem - 1, data = murder.panel, model = "fd")
summary(murder3)
## Oneway (individual) effect First-Difference Model
##
## Call:
## plm(formula = mrdrte ~ exec + unem - 1, data = murder.panel,
## model = "fd")
##
## Balanced Panel: n = 51, T = 3, N = 153
## Observations used in estimation: 102
##
## Residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -2.788 -0.384 0.425 0.863 1.289 41.614
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## exec -0.11240 0.14926 -0.7530 0.4532
## unem -0.04823 0.26614 -0.1812 0.8566
##
## Total Sum of Squares: 1859
## Residual Sum of Squares: 1918.7
## R-Squared: 0.0089367
## Adj. R-Squared: -0.00097398
## F-statistic: 0.329508 on 2 and 100 DF, p-value: 0.72006