Skip to contents

Compute influence and leverage metrics for clustered inference based on the Cluster Jackknife as described in MacKinnon, Nielsen & Webb (2022) for objects of type lm.

Usage

# S3 method for lm
summclust(obj, cluster, params, type = "CRV3", ...)

Arguments

obj

An object of type lm

cluster

A clustering vector

params

A character vector of variables for which leverage statistics should be computed.

type

"CRV3" or "CRV3J" following MacKinnon, Nielsen & Webb. CRV3 by default

...

other function arguments passed to 'vcov'

Value

An object of type summclust, including a CRV3 variance-covariance estimate as described in MacKinnon, Nielsen & Webb (2022)

coef_estimates

The coefficient estimates of the linear model.

vcov

A CRV3 or CRV3J variance-covariance matrix estimate as described in MacKinnon, Nielsen & Webb (2022)

leverage_g

A vector of leverages.

leverage_avg

The cluster leverage.

partial_leverage

The partial leverages.

beta_jack

The jackknifed' leave-on-cluster-out regression coefficients.

params

The input parameter vector 'params'.

N_G

The number of clusters-

call

The summclust() function call.

cluster

The names of the clusters.

References

MacKinnon, James G., Morten Ørregaard Nielsen, and Matthew D. Webb. "Leverage, influence, and the jackknife in clustered regression models: Reliable inference using summclust." arXiv preprint arXiv:2205.03288 (2022).

Examples

# \donttest{
if(requireNamespace("summclust") && requireNamespace("haven")){

library(summclust)
library(haven)

nlswork <- read_dta("http://www.stata-press.com/data/r9/nlswork.dta")
# drop NAs at the moment
nlswork <- nlswork[, c("ln_wage", "grade", "age", "birth_yr", "union", "race", "msp", "ind_code")]
nlswork <- na.omit(nlswork)

lm_fit <- lm(
  ln_wage ~ union +  race + msp + as.factor(birth_yr) + as.factor(age) + as.factor(grade),
  data = nlswork)

res <- summclust(
   obj = lm_fit,
   cluster = ~ind_code,
   params = c("msp", "union")
 )

 summary(res)
 tidy(res)
 plot(res)
}
#> Error in eval(mf, parent.frame()): object 'nlswork' not found
# }