Returns the variance-covariance matrix of the main parameters of
  a fitted model object.  The “main” parameters of model
  correspond to those returned by coef, and typically do
  not contain a nuisance scale parameter (sigma).
vcov(object, …)
# S3 method for lm
vcov(object, complete = TRUE, …)
## and also for '[summary.]glm' and 'mlm'
# S3 method for aov
vcov(object, complete = FALSE, …).vcov.aliased(aliased, vc, complete = TRUE)
a fitted model object, typically.  Sometimes also a
    summary() object of such a fitted model.
for the aov, lm, glm, mlm, and where
    applicable summary.lm etc methods: logical indicating if the
    full variance-covariance matrix should be returned also in case of
    an over-determined system where some coefficients are undefined and
    coef(.) contains NAs correspondingly.   When
    complete = TRUE,  vcov() is compatible with
    coef() also in this singular case.
additional arguments for method functions.  For the
    glm method this can be used to pass a
    dispersion parameter.
a logical vector typically identical to
    is.na(coef(.)) indicating which coefficients are ‘aliased’.
a variance-covariance matrix, typically “incomplete”, i.e., with no rows and columns for aliased coefficients.
A matrix of the estimated covariances between the parameter estimates
  in the linear or non-linear predictor of the model.  This should have
  row and column names corresponding to the parameter names given by the
  coef method.
When some coefficients of the (linear) model are undetermined and
  hence NA because of linearly dependent terms (or an
  “over specified” model), also called
  “aliased”, see alias, then since R version 3.5.0,
  vcov() (iff complete = TRUE, i.e., by default for
  lm etc, but not for aov) contains corresponding rows and
  columns of NAs, wherever coef() has always
  contained such NAs.
vcov() is a generic function and functions with names beginning
  in vcov. will be methods for this function.
  Classes with methods for this function include:
  lm, mlm, glm, nls,
  summary.lm, summary.glm,
  negbin, polr, rlm (in package MASS),
  multinom (in package nnet)
  gls, lme (in package nlme),
  coxph and survreg (in package survival).
(vcov() methods for summary objects allow more
  efficient and still encapsulated access when both
  summary(mod) and vcov(mod) are needed.)
.vcov.aliased() is an auxiliary function useful for
  vcov method implementations which have to deal with singular
  model fits encoded via NA coefficients: It augments a vcov--matrix
  vc by NA rows and columns where needed, i.e., when
  some entries of aliased are true and vc is of smaller dimension
  than length(aliased).