# library 
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
library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(plm)
library(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
## load and rearrange data
test.dat <- load("D:/yang7916/Ozone_Drought_Final.RData/Ozone_Drought_Final.RData")

test.dat <- combinedAir.final



test.dat$USDM.categorical <- factor(test.dat$USDM.categorical, levels = c("NoDrought", "ModerateDrought", "SevereDrought"))
test.dat$USDM.categorical <- relevel(test.dat$USDM.categorical, ref = "NoDrought")


## model 1 
md1_random <- plm(Max.Ozone ~USDM.categorical, data = test.dat, model = "random", index = c("GEOID", "Year","month"))
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
md1_fix <- plm(Max.Ozone ~USDM.categorical, data = test.dat,  effect=("twoways"),model = "within", index = c("GEOID", "Year","month"))
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
stargazer(md1_random, md1_fix, type = "text", title = "Comparison of Random and Fixed Effect Models 1", align = TRUE, 
          add.lines = list(c("Model Name", "Random Effect Model", "Fixed Effect Model")), 
          dep.var.labels.include = FALSE)
## 
## Comparison of Random and Fixed Effect Models 1
## ===================================================================================
##                                                 Dependent variable:                
##                                 ---------------------------------------------------
##                                         (1)                       (2)              
## -----------------------------------------------------------------------------------
## USDM.categoricalModerateDrought      1.319***                  1.426***            
##                                       (0.014)                   (0.014)            
##                                                                                    
## USDM.categoricalSevereDrought        2.624***                  3.078***            
##                                       (0.020)                   (0.021)            
##                                                                                    
## Constant                             42.237***                                     
##                                       (0.148)                                      
##                                                                                    
## -----------------------------------------------------------------------------------
## Model Name                      Random Effect Model       Fixed Effect Model       
## Observations                         6,608,332                 6,608,332           
## R2                                     0.006                     0.004             
## Adjusted R2                            0.006                     0.004             
## F Statistic                        20,401.120***    12,642.330*** (df = 2; 6607388)
## ===================================================================================
## Note:                                                   *p<0.1; **p<0.05; ***p<0.01
## model 2
md2_random<- plm(Max.Ozone ~ USDM.categorical +elevation+ Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = ("random"))
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
md2_fix<- plm(Max.Ozone ~ USDM.categorical +elevation+ Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
effect = "twoway")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
stargazer(md2_random, md2_fix, type = "text", title = "Comparison of Random and Fixed Effect Models 2", align = TRUE, 
          add.lines = list(c("Model Name", "Random Effect Model", "Fixed Effect Model")), 
          dep.var.labels.include = FALSE)
## 
## Comparison of Random and Fixed Effect Models 2
## ===================================================================================
##                                                 Dependent variable:                
##                                 ---------------------------------------------------
##                                         (1)                       (2)              
## -----------------------------------------------------------------------------------
## USDM.categoricalModerateDrought      1.309***                  1.416***            
##                                       (0.014)                   (0.014)            
##                                                                                    
## USDM.categoricalSevereDrought        2.604***                  3.065***            
##                                       (0.020)                   (0.021)            
##                                                                                    
## elevation                            0.007***                  0.007***            
##                                      (0.00004)                 (0.00004)           
##                                                                                    
## Longitude                            0.142***                  0.323***            
##                                       (0.009)                   (0.032)            
##                                                                                    
## Latitude                               0.018                   0.537***            
##                                       (0.024)                   (0.045)            
##                                                                                    
## Constant                             51.806***                                     
##                                       (1.232)                                      
##                                                                                    
## -----------------------------------------------------------------------------------
## Model Name                      Random Effect Model       Fixed Effect Model       
## Observations                         6,608,332                 6,608,332           
## R2                                     0.011                     0.009             
## Adjusted R2                            0.011                     0.009             
## F Statistic                        51,505.070***    11,699.010*** (df = 5; 6607385)
## ===================================================================================
## Note:                                                   *p<0.1; **p<0.05; ***p<0.01
## model 3

md3_random <- plm(Max.Ozone ~ USDM.categorical + tmean +
elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "random")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
md3_fix <- plm(Max.Ozone ~ USDM.categorical + tmean+
elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "within",
effect = "twoways"
)
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
stargazer(md3_random, md3_fix, type = "text", title = "Comparison of Random and Fixed Effect Models 3", align = TRUE, 
          add.lines = list(c("Model Name", "Random Effect Model", "Fixed Effect Model")), 
          dep.var.labels.include = FALSE)
## 
## Comparison of Random and Fixed Effect Models 3
## ====================================================================================
##                                                 Dependent variable:                 
##                                 ----------------------------------------------------
##                                         (1)                       (2)               
## ------------------------------------------------------------------------------------
## USDM.categoricalModerateDrought      1.182***                   1.273***            
##                                       (0.013)                   (0.013)             
##                                                                                     
## USDM.categoricalSevereDrought        1.437***                   1.838***            
##                                       (0.019)                   (0.019)             
##                                                                                     
## tmean                                0.653***                   0.648***            
##                                       (0.001)                   (0.001)             
##                                                                                     
## elevation                            0.009***                   0.009***            
##                                      (0.00003)                 (0.00004)            
##                                                                                     
## Longitude                            0.099***                  -0.458***            
##                                       (0.008)                   (0.029)             
##                                                                                     
## Latitude                             0.300***                   0.637***            
##                                       (0.021)                   (0.041)             
##                                                                                     
## Constant                             25.733***                                      
##                                       (1.035)                                       
##                                                                                     
## ------------------------------------------------------------------------------------
## Model Name                      Random Effect Model        Fixed Effect Model       
## Observations                         6,608,332                 6,608,332            
## R2                                     0.153                     0.150              
## Adjusted R2                            0.153                     0.150              
## F Statistic                      1,164,424.000***   193,861.200*** (df = 6; 6607384)
## ====================================================================================
## Note:                                                    *p<0.1; **p<0.05; ***p<0.01
## model 4 

md4_random <- plm(Max.Ozone ~  tmean+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "random")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
md4_fix <- plm(Max.Ozone ~  tmean+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "within",
effect = "twoways"
)
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
stargazer(md4_random, md4_fix, type = "text", title = "Comparison of Random and Fixed Effect Models 4", align = TRUE, 
          add.lines = list(c("Model Name", "Random Effect Model", "Fixed Effect Model")), 
          dep.var.labels.include = FALSE)
## 
## Comparison of Random and Fixed Effect Models 4
## =================================================================
##                              Dependent variable:                 
##              ----------------------------------------------------
##                      (1)                       (2)               
## -----------------------------------------------------------------
## tmean             0.655***                   0.651***            
##                    (0.001)                   (0.001)             
##                                                                  
## elevation         0.009***                   0.009***            
##                   (0.00003)                 (0.00004)            
##                                                                  
## Longitude         0.087***                  -0.439***            
##                    (0.008)                   (0.029)             
##                                                                  
## Latitude          0.301***                   0.647***            
##                    (0.021)                   (0.041)             
##                                                                  
## Constant          24.839***                                      
##                    (1.081)                                       
##                                                                  
## -----------------------------------------------------------------
## Model Name   Random Effect Model        Fixed Effect Model       
## Observations      6,608,332                 6,608,332            
## R2                  0.152                     0.148              
## Adjusted R2         0.152                     0.148              
## F Statistic   1,151,227.000***   286,618.800*** (df = 4; 6607386)
## =================================================================
## Note:                                 *p<0.1; **p<0.05; ***p<0.01
## model 5 


md5_random <- plm(Max.Ozone ~  ppt+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "random")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
md5_fix <- plm(Max.Ozone ~  ppt+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "within",
effect = "twoways"
)
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
stargazer(md5_random, md5_fix, type = "text", title = "Comparison of Random and Fixed Effect Models 5", align = TRUE, 
          add.lines = list(c("Model Name", "Random Effect Model", "Fixed Effect Model")), 
          dep.var.labels.include = FALSE)
## 
## Comparison of Random and Fixed Effect Models 5
## ================================================================
##                              Dependent variable:                
##              ---------------------------------------------------
##                      (1)                       (2)              
## ----------------------------------------------------------------
## ppt               -0.230***                 -0.228***           
##                    (0.001)                   (0.001)            
##                                                                 
## elevation         0.007***                  0.007***            
##                   (0.00004)                 (0.00004)           
##                                                                 
## Longitude         0.146***                  0.342***            
##                    (0.010)                   (0.031)            
##                                                                 
## Latitude            0.006                   0.532***            
##                    (0.025)                   (0.044)            
##                                                                 
## Constant          53.648***                                     
##                    (1.279)                                      
##                                                                 
## ----------------------------------------------------------------
## Model Name   Random Effect Model       Fixed Effect Model       
## Observations      6,608,332                 6,608,332           
## R2                  0.025                     0.022             
## Adjusted R2         0.025                     0.022             
## F Statistic    150,092.100***    37,672.030*** (df = 4; 6607386)
## ================================================================
## Note:                                *p<0.1; **p<0.05; ***p<0.01
## model 6


md6_random <- plm(Max.Ozone ~  tdmean+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "random")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
md6_fix <- plm(Max.Ozone ~  tdmean+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "within",
effect = "twoways"
)
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
stargazer(md6_random, md6_fix, type = "text", title = "Comparison of Random and Fixed Effect Models 6", align = TRUE, 
          add.lines = list(c("Model Name", "Random Effect Model", "Fixed Effect Model")), 
          dep.var.labels.include = FALSE)
## 
## Comparison of Random and Fixed Effect Models 6
## ================================================================
##                              Dependent variable:                
##              ---------------------------------------------------
##                      (1)                       (2)              
## ----------------------------------------------------------------
## tdmean            0.329***                  0.325***            
##                    (0.001)                   (0.001)            
##                                                                 
## elevation         0.008***                  0.008***            
##                   (0.00004)                 (0.00004)           
##                                                                 
## Longitude         0.129***                  0.515***            
##                    (0.010)                   (0.031)            
##                                                                 
## Latitude          0.321***                  1.096***            
##                    (0.025)                   (0.044)            
##                                                                 
## Constant          35.736***                                     
##                    (1.284)                                      
##                                                                 
## ----------------------------------------------------------------
## Model Name   Random Effect Model       Fixed Effect Model       
## Observations      6,608,332                 6,608,332           
## R2                  0.042                     0.039             
## Adjusted R2         0.042                     0.039             
## F Statistic    270,600.800***    67,276.060*** (df = 4; 6607386)
## ================================================================
## Note:                                *p<0.1; **p<0.05; ***p<0.01
## model 7

md7_random <- plm(Max.Ozone ~  tdmean+tmean+ppt+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "random")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
md7_fix <- plm(Max.Ozone ~  tdmean+tmean+ppt+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "within",
effect = "twoways"
)
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
stargazer(md7_random, md7_fix, type = "text", title = "Comparison of Random and Fixed Effect Models 7", align = TRUE, 
          add.lines = list(c("Model Name", "Random Effect Model", "Fixed Effect Model")), 
          dep.var.labels.include = FALSE)
## 
## Comparison of Random and Fixed Effect Models 7
## =================================================================
##                              Dependent variable:                 
##              ----------------------------------------------------
##                      (1)                       (2)               
## -----------------------------------------------------------------
## tdmean            -0.830***                 -0.844***            
##                    (0.001)                   (0.001)             
##                                                                  
## tmean             1.351***                   1.360***            
##                    (0.001)                   (0.001)             
##                                                                  
## ppt               -0.136***                 -0.132***            
##                    (0.001)                   (0.001)             
##                                                                  
## elevation         0.008***                   0.008***            
##                   (0.00003)                 (0.00003)            
##                                                                  
## Longitude         0.066***                  -1.724***            
##                    (0.008)                   (0.028)             
##                                                                  
## Latitude          -0.060***                 -0.673***            
##                    (0.021)                   (0.039)             
##                                                                  
## Constant          34.150***                                      
##                    (1.063)                                       
##                                                                  
## -----------------------------------------------------------------
## Model Name   Random Effect Model        Fixed Effect Model       
## Observations      6,608,332                 6,608,332            
## R2                  0.227                     0.225              
## Adjusted R2         0.227                     0.225              
## F Statistic   1,904,972.000***   319,369.100*** (df = 6; 6607384)
## =================================================================
## Note:                                 *p<0.1; **p<0.05; ***p<0.01
## model 8


md8_random <- plm(Max.Ozone ~ USDM.categorical+ tdmean+tmean+ppt+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "random")
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
md8_fix <- plm(Max.Ozone ~  USDM.categorical+tdmean+tmean+ppt+elevation + Longitude + Latitude,
data=test.dat,
index = c("GEOID", "Year","month"),
model = "within",
effect = "twoways"
)
## Warning in pdata.frame(data, index): duplicate couples (id-time) in resulting pdata.frame
##  to find out which, use, e.g., table(index(your_pdataframe), useNA = "ifany")
stargazer(md8_random, md8_fix, type = "text", title = "Comparison of Random and Fixed Effect Models 8", align = TRUE, 
          add.lines = list(c("Model Name", "Random Effect Model", "Fixed Effect Model")), 
          dep.var.labels.include = FALSE)
## 
## Comparison of Random and Fixed Effect Models 8
## ====================================================================================
##                                                 Dependent variable:                 
##                                 ----------------------------------------------------
##                                         (1)                       (2)               
## ------------------------------------------------------------------------------------
## USDM.categoricalModerateDrought      0.531***                   0.703***            
##                                       (0.012)                   (0.013)             
##                                                                                     
## USDM.categoricalSevereDrought        0.301***                   0.739***            
##                                       (0.018)                   (0.018)             
##                                                                                     
## tdmean                               -0.826***                 -0.839***            
##                                       (0.001)                   (0.001)             
##                                                                                     
## tmean                                1.348***                   1.354***            
##                                       (0.001)                   (0.001)             
##                                                                                     
## ppt                                  -0.136***                 -0.132***            
##                                       (0.001)                   (0.001)             
##                                                                                     
## elevation                            0.008***                   0.008***            
##                                      (0.00003)                 (0.00003)            
##                                                                                     
## Longitude                            0.080***                  -1.725***            
##                                       (0.008)                   (0.028)             
##                                                                                     
## Latitude                             -0.045**                  -0.669***            
##                                       (0.020)                   (0.039)             
##                                                                                     
## Constant                             34.799***                                      
##                                       (1.027)                                       
##                                                                                     
## ------------------------------------------------------------------------------------
## Model Name                      Random Effect Model        Fixed Effect Model       
## Observations                         6,608,332                 6,608,332            
## R2                                     0.227                     0.225              
## Adjusted R2                            0.227                     0.225              
## F Statistic                      1,907,352.000***   240,126.300*** (df = 8; 6607382)
## ====================================================================================
## Note:                                                    *p<0.1; **p<0.05; ***p<0.01