library(AER);library(stargazer)
## Warning: package 'AER' was built under R version 4.2.3
## Zorunlu paket yükleniyor: car
## Warning: package 'car' was built under R version 4.2.3
## Zorunlu paket yükleniyor: carData
## Warning: package 'carData' was built under R version 4.2.3
## Zorunlu paket yükleniyor: lmtest
## Warning: package 'lmtest' was built under R version 4.2.3
## Zorunlu paket yükleniyor: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Zorunlu paket yükleniyor: sandwich
## Warning: package 'sandwich' was built under R version 4.2.3
## Zorunlu paket yükleniyor: survival
## 
## 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
data(mroz, package='wooldridge')

restrict to non-missing wage abservations

oursamples <- subset(mroz, !is.na(wage))

OLS slope parameter manually

with (oursamples, cov (log (wage), educ) / var (educ))
## [1] 0.1086487

IV slope parameter manually

with (oursamples, cov (log (wage), fatheduc)/ cov (educ, fatheduc))
## [1] 0.05917348

OLS automatically

reg.ols <-   lm (log (wage) ~ educ, data=oursamples)

IV automatically

 reg.iv <- ivreg (log (wage) ~ educ  | fatheduc, data=oursamples)

Pretty regression table

stargazer (reg.ols, reg.iv, type="text")
## 
## ===================================================================
##                                        Dependent variable:         
##                                ------------------------------------
##                                             log(wage)              
##                                          OLS           instrumental
##                                                          variable  
##                                          (1)               (2)     
## -------------------------------------------------------------------
## educ                                  0.109***            0.059*   
##                                        (0.014)           (0.035)   
##                                                                    
## Constant                               -0.185             0.441    
##                                        (0.185)           (0.446)   
##                                                                    
## -------------------------------------------------------------------
## Observations                             428               428     
## R2                                      0.118             0.093    
## Adjusted R2                             0.116             0.091    
## Residual Std. Error (df = 426)          0.680             0.689    
## F Statistic                    56.929*** (df = 1; 426)             
## ===================================================================
## Note:                                   *p<0.1; **p<0.05; ***p<0.01
 library (AER); library (stargazer)
data(card, package='wooldridge')

Checking for relevance: reduced form

redf<-lm (educ ~ nearc4+exper+I (exper^2) +black+smsa+south+smsa66+reg662+ reg663+reg664+reg665+reg666+reg667+reg668+reg669, data=card)

OLS

ols<-lm (log (wage) ~educ+exper+I(exper^2) +black+smsa+south+smsa66+reg662+reg663+reg664+reg665+reg666+reg667+reg668+reg669, data=card)

IV estimation

 iv <-ivreg (log (wage)~ educ+exper+I (exper^2)+black+smsa+south+smsa66+ reg662+reg663+reg664+reg665+reg666+reg667+reg668+reg669| nearc4+exper+I (exper^2) +black+smsa+south+smsa66+ reg662+reg663+reg664+reg665+reg666+reg667+reg668+reg669 , data=card)

Pretty regression table of selected coefficients

stargazer(redf, ols, iv, type="text", keep=c("ed", "near", "exp", "bl"), keep.stat=c("n", "rsq"))
## 
## =============================================
##                    Dependent variable:       
##              --------------------------------
##                educ          log(wage)       
##                 OLS       OLS    instrumental
##                                    variable  
##                 (1)       (2)        (3)     
## ---------------------------------------------
## nearc4       0.320***                        
##               (0.088)                        
##                                              
## educ                   0.075***    0.132**   
##                         (0.003)    (0.055)   
##                                              
## exper        -0.413*** 0.085***    0.108***  
##               (0.034)   (0.007)    (0.024)   
##                                              
## I(exper2)      0.001   -0.002***  -0.002***  
##               (0.002)  (0.0003)    (0.0003)  
##                                              
## black        -0.936*** -0.199***  -0.147***  
##               (0.094)   (0.018)    (0.054)   
##                                              
## ---------------------------------------------
## Observations   3,010     3,010      3,010    
## R2             0.477     0.300      0.238    
## =============================================
## Note:             *p<0.1; **p<0.05; ***p<0.01
library (AER); library (stargazer)
data(mroz, package='wooldridge')

#restrict to non-missing wage observations

oursample <- subset(mroz, !is.na (wage))

#1st stage: reduced form

stagel <- lm (educ~exper+I(exper^2)+motheduc+fatheduc, data=oursample)

2nd stage

man.2SLS<-lm (log (wage)~fitted(stagel) +exper+I (exper^2), data=oursample)

#Automatic 2SLS estimation

aut.2SLS<-ivreg(log (wage)~educ+exper+I(exper^2) | motheduc+fatheduc+exper+I(exper^2), data=oursample)

#Pretty regression table

stargazer(stagel,man.2SLS,aut.2SLS, type="text",keep.stat=c("n","rsq"))
## 
## =============================================
##                     Dependent variable:      
##                ------------------------------
##                  educ         log(wage)      
##                  OLS      OLS    instrumental
##                                    variable  
##                  (1)      (2)        (3)     
## ---------------------------------------------
## fitted(stagel)           0.061*              
##                         (0.033)              
##                                              
## educ                                0.061*   
##                                    (0.031)   
##                                              
## exper           0.045   0.044***   0.044***  
##                (0.040)  (0.014)    (0.013)   
##                                              
## I(exper2)       -0.001  -0.001**   -0.001**  
##                (0.001)  (0.0004)   (0.0004)  
##                                              
## motheduc       0.158***                      
##                (0.036)                       
##                                              
## fatheduc       0.190***                      
##                (0.034)                       
##                                              
## Constant       9.103***  0.048      0.048    
##                (0.427)  (0.420)    (0.400)   
##                                              
## ---------------------------------------------
## Observations     428      428        428     
## R2              0.211    0.050      0.136    
## =============================================
## Note:             *p<0.1; **p<0.05; ***p<0.01
library (AER); library (lmtest)
data(mroz, package='wooldridge')

restrict to non-missing wage observations

oursample <- subset (mroz, !is.na (wage))

1st stage: reduced form

stagel<-lm (educ~exper+I(exper^2) +motheduc+fatheduc, data=oursample)

2nd stage

 stage2<-lm (log (wage)~educ+exper+I(exper^2) +resid (stagel), data=oursample)

results including t tests

coeftest(stage2)
## 
## t test of coefficients:
## 
##                  Estimate  Std. Error t value  Pr(>|t|)    
## (Intercept)    0.04810030  0.39457526  0.1219 0.9030329    
## educ           0.06139663  0.03098494  1.9815 0.0481824 *  
## exper          0.04417039  0.01323945  3.3363 0.0009241 ***
## I(exper^2)    -0.00089897  0.00039591 -2.2706 0.0236719 *  
## resid(stagel)  0.05816661  0.03480728  1.6711 0.0954406 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1