The Hausman–Taylor estimator is an instrumental variable estimator without external instruments (function deprecated).

pht(
  formula,
  data,
  subset,
  na.action,
  model = c("ht", "am", "bms"),
  index = NULL,
  ...
)

# S3 method for class 'pht'
summary(object, ...)

# S3 method for class 'summary.pht'
print(
  x,
  digits = max(3, getOption("digits") - 2),
  width = getOption("width"),
  subset = NULL,
  ...
)

Arguments

formula

a symbolic description for the model to be estimated,

data

a data.frame,

subset

see lm() for "plm", a character or numeric vector indicating a subset of the table of coefficient to be printed for "print.summary.plm",

na.action

see lm(),

model

one of "ht" for Hausman–Taylor, "am" for Amemiya–MaCurdy and "bms" for Breusch–Mizon–Schmidt,

index

the indexes,

...

further arguments.

object, x

an object of class "plm",

digits

digits,

width

the maximum length of the lines in the print output,

Value

An object of class c("pht", "plm", "panelmodel").

A "pht" object contains the same elements as plm object, with a further argument called varlist which describes the typology of the variables. It has summary and print.summary methods.

Details

pht estimates panels models using the Hausman–Taylor estimator, Amemiya–MaCurdy estimator, or Breusch–Mizon–Schmidt estimator, depending on the argument model. The model is specified as a two–part formula, the second part containing the exogenous variables.

Note

The function pht is deprecated. Please use function plm to estimate Taylor–Hausman models like this with a three-part formula as shown in the example:
plm(<formula>, random.method = "ht", model = "random", inst.method = "baltagi"). The Amemiya–MaCurdy estimator and the Breusch–Mizon–Schmidt estimator is computed likewise with plm.

References

(Amemiya and MaCurdy 1986)

(Baltagi 2013)

(Breusch et al. 1989)

(Hausman and Taylor 1981)

Author

Yves Croissant

Examples


## replicates Baltagi (2005, 2013), table 7.4; Baltagi (2021), table 7.5
## preferred way with plm()
data("Wages", package = "plm")
ht <- plm(lwage ~ wks + south + smsa + married + exp + I(exp ^ 2) + 
              bluecol + ind + union + sex + black + ed |
              bluecol + south + smsa + ind + sex + black |
              wks + married + union + exp + I(exp ^ 2), 
          data = Wages, index = 595,
          random.method = "ht", model = "random", inst.method = "baltagi")
summary(ht)
#> Oneway (individual) effect Random Effect Model 
#>    (Hausman-Taylor's transformation)
#> Instrumental variable estimation
#>    (Baltagi's transformation)
#> 
#> Call:
#> plm(formula = lwage ~ wks + south + smsa + married + exp + I(exp^2) + 
#>     bluecol + ind + union + sex + black + ed | bluecol + south + 
#>     smsa + ind + sex + black | wks + married + union + exp + 
#>     I(exp^2), data = Wages, model = "random", random.method = "ht", 
#>     inst.method = "baltagi", index = 595)
#> 
#> Balanced Panel: n = 595, T = 7, N = 4165
#> 
#> Effects:
#>                   var std.dev share
#> idiosyncratic 0.02304 0.15180 0.025
#> individual    0.88699 0.94180 0.975
#> theta: 0.9392
#> 
#> Residuals:
#>       Min.    1st Qu.     Median    3rd Qu.       Max. 
#> -12.643736  -0.466002   0.043285   0.524739  13.340263 
#> 
#> Coefficients:
#>                Estimate  Std. Error z-value  Pr(>|z|)    
#> (Intercept)  2.9127e+00  2.8365e-01 10.2687 < 2.2e-16 ***
#> wks          8.3740e-04  5.9973e-04  1.3963   0.16263    
#> southyes     7.4398e-03  3.1955e-02  0.2328   0.81590    
#> smsayes     -4.1833e-02  1.8958e-02 -2.2066   0.02734 *  
#> marriedyes  -2.9851e-02  1.8980e-02 -1.5728   0.11578    
#> exp          1.1313e-01  2.4710e-03 45.7851 < 2.2e-16 ***
#> I(exp^2)    -4.1886e-04  5.4598e-05 -7.6718 1.696e-14 ***
#> bluecolyes  -2.0705e-02  1.3781e-02 -1.5024   0.13299    
#> ind          1.3604e-02  1.5237e-02  0.8928   0.37196    
#> unionyes     3.2771e-02  1.4908e-02  2.1982   0.02794 *  
#> sexfemale   -1.3092e-01  1.2666e-01 -1.0337   0.30129    
#> blackyes    -2.8575e-01  1.5570e-01 -1.8352   0.06647 .  
#> ed           1.3794e-01  2.1248e-02  6.4919 8.474e-11 ***
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#> 
#> Total Sum of Squares:    243.04
#> Residual Sum of Squares: 4163.6
#> R-Squared:      0.60945
#> Adj. R-Squared: 0.60833
#> Chisq: 6891.87 on 12 DF, p-value: < 2.22e-16

am <- plm(lwage ~ wks + south + smsa + married + exp + I(exp ^ 2) + 
              bluecol + ind + union + sex + black + ed |
              bluecol + south + smsa + ind + sex + black |
              wks + married + union + exp + I(exp ^ 2), 
          data = Wages, index = 595,
          random.method = "ht", model = "random", inst.method = "am")
summary(am)
#> Oneway (individual) effect Random Effect Model 
#>    (Hausman-Taylor's transformation)
#> Instrumental variable estimation
#>    (Amemiya-MaCurdy's transformation)
#> 
#> Call:
#> plm(formula = lwage ~ wks + south + smsa + married + exp + I(exp^2) + 
#>     bluecol + ind + union + sex + black + ed | bluecol + south + 
#>     smsa + ind + sex + black | wks + married + union + exp + 
#>     I(exp^2), data = Wages, model = "random", random.method = "ht", 
#>     inst.method = "am", index = 595)
#> 
#> Balanced Panel: n = 595, T = 7, N = 4165
#> 
#> Effects:
#>                   var std.dev share
#> idiosyncratic 0.02304 0.15180 0.025
#> individual    0.88699 0.94180 0.975
#> theta: 0.9392
#> 
#> Residuals:
#>       Min.    1st Qu.     Median    3rd Qu.       Max. 
#> -12.643192  -0.464811   0.043216   0.523598  13.338789 
#> 
#> Coefficients:
#>                Estimate  Std. Error z-value  Pr(>|z|)    
#> (Intercept)  2.9273e+00  2.7513e-01 10.6399 < 2.2e-16 ***
#> wks          8.3806e-04  5.9945e-04  1.3980   0.16210    
#> southyes     7.2818e-03  3.1936e-02  0.2280   0.81964    
#> smsayes     -4.1951e-02  1.8947e-02 -2.2141   0.02682 *  
#> marriedyes  -3.0089e-02  1.8967e-02 -1.5864   0.11266    
#> exp          1.1297e-01  2.4688e-03 45.7584 < 2.2e-16 ***
#> I(exp^2)    -4.2140e-04  5.4554e-05 -7.7244 1.124e-14 ***
#> bluecolyes  -2.0850e-02  1.3765e-02 -1.5147   0.12986    
#> ind          1.3629e-02  1.5229e-02  0.8949   0.37082    
#> unionyes     3.2475e-02  1.4894e-02  2.1804   0.02922 *  
#> sexfemale   -1.3201e-01  1.2660e-01 -1.0427   0.29709    
#> blackyes    -2.8590e-01  1.5549e-01 -1.8388   0.06595 .  
#> ed           1.3720e-01  2.0570e-02  6.6703 2.553e-11 ***
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#> 
#> Total Sum of Squares:    243.04
#> Residual Sum of Squares: 4160.3
#> R-Squared:      0.60948
#> Adj. R-Squared: 0.60835
#> Chisq: 6879.2 on 12 DF, p-value: < 2.22e-16

## deprecated way with pht() for HT
#ht <- pht(lwage ~ wks + south + smsa + married + exp + I(exp^2) +
#          bluecol + ind + union + sex + black + ed | 
#          sex + black + bluecol + south + smsa + ind,
#          data = Wages, model = "ht", index = 595)
#summary(ht)
# deprecated way with pht() for AM
#am <- pht(lwage ~ wks + south + smsa + married + exp + I(exp^2) +
#          bluecol + ind + union + sex + black + ed | 
#          sex + black + bluecol + south + smsa + ind,
#          data = Wages, model = "am", index = 595)
#summary(am)