Returns the variance-covariance, as retrieved by stats::vcov()
, but works
for more model objects that probably don't provide a vcov()
-method.
Usage
get_varcov(x, ...)
# Default S3 method
get_varcov(x, verbose = TRUE, vcov = NULL, vcov_args = NULL, ...)
# S3 method for class 'glmgee'
get_varcov(
x,
verbose = TRUE,
vcov = c("robust", "df-adjusted", "model", "bias-corrected", "jackknife"),
...
)
# S3 method for class 'nestedLogit'
get_varcov(
x,
component = "all",
verbose = TRUE,
vcov = NULL,
vcov_args = NULL,
...
)
# S3 method for class 'betareg'
get_varcov(
x,
component = c("conditional", "precision", "all"),
verbose = TRUE,
...
)
# S3 method for class 'clm2'
get_varcov(x, component = c("all", "conditional", "scale"), ...)
# S3 method for class 'truncreg'
get_varcov(x, component = c("conditional", "all"), verbose = TRUE, ...)
# S3 method for class 'hurdle'
get_varcov(
x,
component = c("conditional", "zero_inflated", "zi", "all"),
vcov = NULL,
vcov_args = NULL,
verbose = TRUE,
...
)
# S3 method for class 'glmmTMB'
get_varcov(
x,
component = c("conditional", "zero_inflated", "zi", "dispersion", "all"),
verbose = TRUE,
...
)
# S3 method for class 'MixMod'
get_varcov(
x,
effects = c("fixed", "random"),
component = c("conditional", "zero_inflated", "zi", "dispersion", "auxiliary", "all"),
verbose = TRUE,
...
)
# S3 method for class 'brmsfit'
get_varcov(x, component = "conditional", verbose = TRUE, ...)
# S3 method for class 'betamfx'
get_varcov(
x,
component = c("conditional", "precision", "all"),
verbose = TRUE,
...
)
# S3 method for class 'aov'
get_varcov(x, complete = FALSE, verbose = TRUE, ...)
# S3 method for class 'mixor'
get_varcov(x, effects = c("all", "fixed", "random"), verbose = TRUE, ...)
Arguments
- x
A model.
- ...
Currently not used.
- verbose
Toggle warnings.
- vcov
Variance-covariance matrix used to compute uncertainty estimates (e.g., for robust standard errors). This argument accepts a covariance matrix, a function which returns a covariance matrix, or a string which identifies the function to be used to compute the covariance matrix.
A covariance matrix
A function which returns a covariance matrix (e.g.,
stats::vcov()
)A string which indicates the kind of uncertainty estimates to return.
Heteroskedasticity-consistent:
"HC"
,"HC0"
,"HC1"
,"HC2"
,"HC3"
,"HC4"
,"HC4m"
,"HC5"
. See?sandwich::vcovHC
Cluster-robust:
"CR"
,"CR0"
,"CR1"
,"CR1p"
,"CR1S"
,"CR2"
,"CR3"
. See?clubSandwich::vcovCR
Bootstrap:
"BS"
,"xy"
,"residual"
,"wild"
,"mammen"
,"fractional"
,"jackknife"
,"norm"
,"webb"
. See?sandwich::vcovBS
Other
sandwich
package functions:"HAC"
,"PC"
,"CL"
,"OPG"
,"PL"
.Kenward-Roger approximation:
kenward-roger
. See?pbkrtest::vcovAdj
.
- vcov_args
List of arguments to be passed to the function identified by the
vcov
argument. This function is typically supplied by the sandwich or clubSandwich packages. Please refer to their documentation (e.g.,?sandwich::vcovHAC
) to see the list of available arguments. If no estimation type (argumenttype
) is given, the default type for"HC"
equals the default from the sandwich package; for type"CR"
, the default is set to"CR3"
.- component
Should the complete variance-covariance matrix of the model be returned, or only for specific model components only (like count or zero-inflated model parts)? Applies to models with zero-inflated component, or models with precision (e.g.
betareg
) component.component
may be one of"conditional"
,"zi"
,"zero-inflated"
,"dispersion"
,"precision"
, or"all"
. May be abbreviated. Note that the conditional component also refers to the count or mean component - names may differ, depending on the modeling package.- effects
Should the complete variance-covariance matrix of the model be returned, or only for specific model parameters only? Currently only applies to models of class
mixor
.- complete
Logical, if
TRUE
, foraov
, returns the full variance-covariance matrix.
Note
get_varcov()
tries to return the nearest positive definite matrix
in case of negative eigenvalues of the variance-covariance matrix. This
ensures that it is still possible, for instance, to calculate standard
errors of model parameters. A message is shown when the matrix is negative
definite and a corrected matrix is returned.
Examples
data(mtcars)
m <- lm(mpg ~ wt + cyl + vs, data = mtcars)
get_varcov(m)
#> (Intercept) wt cyl vs
#> (Intercept) 11.552774 0.1680680 -1.5843752 -4.7487893
#> wt 0.168068 0.6207461 -0.3301421 -0.2797924
#> cyl -1.584375 -0.3301421 0.3764045 0.7257641
#> vs -4.748789 -0.2797924 0.7257641 2.6475113
# vcov of zero-inflation component from hurdle-model
data("bioChemists", package = "pscl")
mod <- hurdle(art ~ phd + fem | ment, data = bioChemists, dist = "negbin")
get_varcov(mod, component = "zero_inflated")
#> (Intercept) ment
#> (Intercept) 0.0115917010 -0.0009744732
#> ment -0.0009744732 0.0001561139
# robust vcov of, count component from hurdle-model
data("bioChemists", package = "pscl")
mod <- hurdle(art ~ phd + fem | ment, data = bioChemists, dist = "negbin")
get_varcov(
mod,
component = "conditional",
vcov = "BS",
vcov_args = list(R = 50)
)
#> count_(Intercept) count_phd count_femWomen
#> count_(Intercept) 0.041339413 -0.009967283 -0.007235679
#> count_phd -0.009967283 0.003028860 0.001278198
#> count_femWomen -0.007235679 0.001278198 0.011140592