https://github.com/cran/sandwich
Tip revision: e39944798ad801f62492f323735c7f6b6d1c453d authored by Achim Zeileis on 06 April 2019, 20:59:16 UTC
version 2.5-1
version 2.5-1
Tip revision: e399447
NEWS
Changes in Version 2.5-1
o In various vcov*() functions assuring that the variance-covariance matrix is
positive-definite (via fix=TRUE) erroneously dropped the dimnames. Now these
are properly preserved. (Reported by Joe Ritter.)
o Added suppressWarnings(RNGversion("3.5.0")) in those places where set.seed()
was used to assure exactly reproducible results from R 3.6.0 onwards.
Changes in Version 2.5-0
o Enhanced vignette("sandwich-CL", package = "sandwich") by better describing
the background of clustered covariances and being more precise in the mathematical
notation. Documentation for the new features (see below, e.g., the formula cluster
specification and the vcovBS() methods) has been added.
o In vcovCL(), vcovPL(), vcovPC(), and vcovBS(), the "cluster" argument (and
potentially also "order.by") can be specified by a formula - provided that
expand.model.frame(x, cluster) works for the model object x.
o The "cluster" and/or "order.by" are processed accordingly if observations
were dropped in the NA processing of the model object x (provided x$na.action
is available).
o New dedicated vcovBS() method for "lm" objects that (a) provides many more
bootstrapping techniques applicable to linear models (e.g., residual-based
or wild bootstrap), (b) computes the bootstrap coefficients more efficiently
with lm.fit() or qr.coef() rather than update().
o New dedicated vcovBS() method for "glm" objects that uses "xy" bootstrap
like the default method but uses glm.fit() instead of update() and hence
is slightly faster.
o All vcovBS() methods (default, glm, and lm) facilitate parallel bootstrapping
by changing the "applyfun" from the default lapply(). By setting "cores"
parallel::parLapply (on Windows) or parallel::mclapply() (otherwise)
are used.
o Default handling of missing parameter estimates in vcovBS() changed
from "everything" to "pairwise.complete.obs" and allow modification
of cov(..., use = ...). This is relevant if not all parameters can be
re-estimated on the bootstrap samples, e.g., for dummy variables of
relatively rare events.
o Fix of a bug in vcovHC.mlm (reported by James Pustejovsky). The off-diagonal
values of the vcovHC were computed without preserving the sign of the
underlying residuals. This issue did not affect the diagonal because
the underlying cross product amounts to squaring all values - but it does
matter for the off-diagonal. Also, type="const" was disabled in this
scenario and vcov(...) is simply used instead of vcovHC(..., type = "const").
o Bug fix in vcovCL/meatCL for multi-way clustering (reported by Brian Tsay).
If patterns of levels in one clustering variable also occured in another
clustering variable, their interactions were sometimes not computed
correctly.
o In vcovCL() for multi-way clustering without cluster adjustment, all
cluster adjustment factors are omitted entirely. In previous versions they
were scaled with (Gmin - 1)/Gmin, where Gmin is the minimal number of
clusters across clustering dimensions.
o meatHC() and meatHAC() now pass their "..." argument to estfun(), just
as meatCL(), meatPL(), and meatPC() do as well.
Changes in Version 2.4-0
o Various flavors of clustered sandwich estimators in vcovCL(), panel
sandwich estimators in vcovPL(), and panel-corrected estimators a la
Beck & Katz in vcovPC(). The new vignette("sandwich-CL", package = "sandwich")
introduces all functions and illustrates their use and properties.
o The new function vcovBS() provides a basic (clustered) bootstrap
covariance matrix estimate, using case-based resampling.
Changes in Version 2.3-4
o In meatHAC(), bwAndrews(), and bwNeweyWest() it is now assured that
the estfun is transformed to a plain matrix. Otherwise for time series
regression with irregular zoo data, the bandwidth estimation might
have failed.
o In meatHC() it is now assured that the residuals are zero in observations
where all regressors and all estimating functions are zero.
Changes in Version 2.3-3
o Now the default methods of vcovHC() and vcovHAC() are also correctly
registered as S3 methods in the NAMESPACE.
o Corrected errors in Equation 3 of vignette("sandwich"). The equation
incorrectly listed the error terms "u" instead of the observations "y"
on the right-hand side (pointed out by Karl-Kuno Kunze).
Changes in Version 2.3-2
o sandwich(), vcovHC(), and vcovHAC() did not work when models were
fitted with na.action = na.exclude because the estfun() then (correctly)
preserved the NAs. This is now avoided and all functions handle the
na.exclude case like the na.omit case. (Thanks to John Fox for spotting
the problem and suggesting the solution.)
Changes in Version 2.3-1
o The estfun() methods for "survreg" and "coxph" objects incorrectly
returned the unweighted estimating functions in case the objects
were fitted with weights. Now the weights are properly extracted
and used.
Changes in Version 2.3-0
o Updated Depends/Imports: Package "zoo" is only in Imports now.
Changes in Version 2.2-10
o Added estfun() and bread() methods for ordered response models
from MASS::polr and ordinal::clm.
o Added output of examples and vignettes as .Rout.save for
R CMD check.
Changes in Version 2.2-9
o Added convenience function lrvar() to compute the long-run
variance of the mean of a time series: a simple wrapper
for kernHAC() and NeweyWest() applied to lm(x ~ 1).
o lm/mlm/glm models with aliased parameters were not handled
correctly (leading to errors in sandwich/vcovHC etc.), fixed
now.
o An improved error message is issued if prewhitening in vcovHAC()
cannot work due to collinearity in the estimating functions.
Changes in Version 2.2-8
o fixed a bug in bwNeweyWest() for "mlm" objects that only have
an intercept.
Changes in Version 2.2-7
o HC4m and HC5 estimators, as suggested by Cribari-Neto
and coauthors, have been added to vcovHC() and related
functions.
Changes in Version 2.2-6
o bug fix in estfun() method for "survreg" objects
Changes in Version 2.2-5
o estfun() methods for "hurdle"/"zeroinfl" objects can now
handle multiple offset vectors (if any)
Changes in Version 2.2-4
o new vcovHC() method for "mlm" objects. This simply
combines the "meat" for each individual regression and combines
the result.
Changes in Version 2.2-3
o new bread() method for "mlm" objects.
Changes in Version 2.2-2
o updates in estfun() methods for hurdle/zeroinfl objects.
Changes in Version 2.2-1
o documentation enhancements for new Rd parser.
Changes in Version 2.2-0
o added/enhanced bread() and estfun() methods for "rlm"
and "mlogit" objects (from MASS and mlogit, respectively).
o made vcovHC() and vcovHAC() generic with previous function
definitions as default methods.
o updated vignettes (in particular using the more convenient
tobit() interface from the AER package).
Changes in Version 2.1-0
o added bread() and estfun() methods for "hurdle"/"zeroinfl"
objects as computed by hurdle()/zeroinfl() in
package "pscl".
o fixed bread() and estfun() methods for negative binomial
"glm" objects: now dispersion = 1 is used.
Changes in Version 2.0-3
o bread() method for "lm" objects now calls summary.lm()
explicitely (rather than the generic) so that it also
works with "aov" objects.
Changes in Version 2.0-2
o Added new vcovOPG() function for computing the outer
product of gradients estimator (works for maximum
likelihood estfun() methods only).
o Scaled estfun() and bread() method for "glm" objects
by dispersion estimate. Hence, this corresponds to
maximum likelihood and not deviance methods.
Changes in Version 2.0-1
o Minor fix to bwAndrews() so that it can be easily used
in models for multivariate means.
Changes in Version 2.0-0
o A paper based on the "sandwich-OOP" vignette was accepted
for publication in volume 16(9) of Journal of Statistical
Software at
http://www.jstatsoft.org/
o A NAMESPACE was added for the package.
Changes in Version 1.9-0
o The vignette "sandwich-OOP" has been revised, extended and
released as a technical report.
o Several estfun() methods and some of the meat() functions have
been enhanced and made more consistent.
Changes in Version 1.1-1
o estfun() methods now use directly the model.matrix() method
instead of the terms() and model.frame() methods.
Changes in Version 1.1-0
o sandwich is made object-oriented, so that various types
of sandwich estimators can be computed not only for "lm"
models, but also "glm", "survreg", etc.
To achieve object orientation this various changes have
been made: a sandwich() function is provided which needs
a bread and a meat matrix. For the bread, a generic bread()
function is provided, for the meat, there are meat(),
meatHC() and meatHAC(). All rely on the existence of a
estfun() method.
o vcovHC() and vcovHAC() have been restructured to use
sandwich() together with meatHC() and meatHAC(), respectively.
o A new vignette "sandwich-OOP" has been added, explaining
the new object-orientation features.
o Various methods to bread() and estfun() have been added,
particularly for "survreg" and "coxph".