- Fixed bug where use of
dichotomy
and moderator variables inlmitt()
could lead to errors due to too long of a formula.
lmitt()
, weights calculation functionsate()
andett()
, and assignment vector generation functionassigned()
now accept adichotomy
argument that can be used for studies with time-varying treatment assignment. TheDesign
object, unlike before, will not carry information about this dichotomization. Instead, the information stored there reflecting when units were assigned to treatment (if they were assigned to treatment) will be leveraged to create inverse probability of assignment weights and assignment indicators for datasets that have longitudinal data for the study units.
- Standard error calculations no longer error when a
by
column is used to uniquely identify rows in the covariance adjustment or effect estimation sample that cannot be distinguished with information in theDesign
alone
- Linking unit of assignments to clusters for variance estimation no longer errors when
Design
objects are created with atibble
cov_adj()
does not error with covariance adjustment models fit withrobustbase::glmrob()
- Scaling constants have been updated in
estfun.teeMod()
to account for a previously missing factor of sqrt(n / n_C) applied to contributions to the covariance adjustment model estimating equations
- When model-based standard errors clustered at the level of assignment are called for in a blocked design,
vcov_tee()
clusters units of assignment in small blocks, blocks with only one treated or control unit, together.
vcov_tee()
scales estimating equations using different constants than it did before
- Previous procedure for aligning contributions to estimating equations from first-stage and second-stage models failed when column(s) used for alignment had NA's. Outputs of
vcov_tee()
were liable to change from call to call as a result. This has been fixed.
- Diagonal elements of
vcov_tee()
matrices lacking sufficient degrees of freedom for estimation are returned as NA's rather than numeric zeros. This is a deviation from thesandwich
package that aims to provide clarity to results that may otherwise appear as negative diagonal elements of the vcov matrix
- When
lmitt()
is called with a blocked design andabsorb=TRUE
, the block-centered assignment and, if applicable, moderator and assignment:moderator interaction columns, are no longer centered on the grand mean of the column. This ensures blocks that do not satisfy positivity of the assignment variable (or positivity within a factor level) do not contribute to effect estimation lmitt()
now accepts references to formula objects
- Computational performance for
estfun.teeMod
has been improved
- No more errors due to under-the-hood duplication of a moderator variable
absorb=TRUE
estimates have been corrected in the case when all observations in a stratum have 0 weights due to only treated or control units of assignment existing in the stratum
vcov_tee()
can accept user-created variance estimation functions that start with the prefix.vcov_
; thetype
argument should take the rest of the function name as an input- Variance estimation for robust GLM's (models fit using
robustbase::glmrob
) is now accommodated - HC1 variance estimates are now accommodated
- Effect estimation for continuous moderator variables is now supported
vcov_tee()
will return NA's for the entries of the covariance matrix that lack sufficient degrees of freedom for an estimate. Informative warnings will accompany the matrix, further indicating which standard errors have been NA'd out.
- Functions for generating weights,
ate()
andett()
, return weights of 0 rather than infinity for blocks that contain treated units but no control units. - Prior covariate adjustment fits were previously incorporated into variance estimation differently depending on whether one created a
SandwichLayer
object before callinglmitt()
or calledcov_adj()
in theoffset
argument of thelmitt()
call. This has been corrected, and both ways return the same variance estimates. - Covariate adjustment models that admit rectangular bread matrices, such as those
produced by
robustbase::lmrob
, are now accommodated given the reformulated estimating equations in versionsv0.1.1
and later. - A contrasts error raised by
model.matrix()
in certaincov_adj()
calls has been resolved.
- We now order
teeMod
objects' matrix of estimating equations based on user-specified ID columns or unit of assignment ID's. - The
stats::update
function can no longer be called onteeMod
objects.
teeMod
objects now havelmitt_call
slots.summary
calls onteeMod
objects acceptvcov.type
arguments to specify the desired standard error calculation shown in the output. Acceptable types follow the documentation forvcov_tee
.- Shown or printed
teeMod
objects return more comprehensible labels for ITT effect outputs.
- Now compatible with R 4.3. Particularly, we advise users working with R 4.3 to avoid
expand.model.frame
calls onteeMod
objects and instead use the internal function.expand.model.frame_teeMod
when necessary.
- Stratum fixed effects and subgroup moderating effects can now be accounted for via the
absorb
argument. Previous versions did not properly support this functionality. Valid standard errors under absorption, however, have not been confirmed.
- We have reformulated the estimating equations used to derive standard errors. In estimation settings we accommodate, testing has not revealed any differences in standard error estimates between the previous and current estimating equations, but we do not assure this is the case for all possible situations.
- Compatible with R 4.2.3
- Introduces functionality for direct adjusted and design-informed standard errors accommodating covariance adjustment in the model-based setting
- Cluster-robust standard errors can only be estimated using the HC0 estimator