# Procedures

`DiffinDiffsBase.CheckData`

— Type`CheckData <: StatsStep`

Call `DiffinDiffsBase.checkdata!`

for some preliminary checks of the input data.

`DiffinDiffsBase.CheckVars`

— Type`CheckVars <: StatsStep`

Call `DiffinDiffsBase.checkvars!`

to exclude invalid rows for relevant variables.

`DiffinDiffsBase.GroupContrasts`

— Type`GroupContrasts <: StatsStep`

Call `DiffinDiffsBase.groupcontrasts`

to obtain one of the instances of `contrasts`

that have been grouped by equality (`hash`

) for allowing later comparisons based on object-id.

This step is only useful when working with `@specset`

and `proceed`

.

`DiffinDiffsBase.GroupSample`

— Type`GroupSample <: StatsStep`

Call `DiffinDiffsBase.groupsample`

to obtain one of the instances of `esample`

that have been grouped by equality (`hash`

) for allowing later comparisons based on object-id.

This step is only useful when working with `@specset`

and `proceed`

.

`DiffinDiffsBase.GroupTreatintterms`

— Type`GroupTreatintterms <: StatsStep`

Call `DiffinDiffsBase.grouptreatintterms`

to obtain one of the instances of `treatintterms`

that have been grouped by equality (`hash`

) for allowing later comparisons based on object-id.

This step is only useful when working with `@specset`

and `proceed`

.

`DiffinDiffsBase.GroupXterms`

— Type`GroupXterms <: StatsStep`

Call `DiffinDiffsBase.groupxterms`

to obtain one of the instances of `xterms`

that have been grouped by equality (`hash`

) for allowing later comparisons based on object-id.

This step is only useful when working with `@specset`

and `proceed`

.

`DiffinDiffsBase.MakeWeights`

— Type`MakeWeights <: StatsStep`

Call `DiffinDiffsBase.makeweights`

to create a generic `Weights`

vector.

`DiffinDiffsBase.checkdata!`

— Method`checkdata!(args...)`

Check `data`

is `Tables.AbstractColumns`

-compatible and find valid rows for options `subset`

and `weightname`

. See also `CheckData`

.

`DiffinDiffsBase.checkvars!`

— Method`checkvars!(args...)`

Exclude rows with missing data or violate the overlap condition and find rows with data from treated units. See also `CheckVars`

.

`DiffinDiffsBase.groupcontrasts`

— Method`groupcontrasts(contrasts)`

Return the argument without change for allowing later comparisons based on object-id. See also `GroupContrasts`

.

`DiffinDiffsBase.groupsample`

— Method`groupsample(esample)`

Return the argument without change for allowing later comparisons based on object-id. See also `GroupSample`

.

`DiffinDiffsBase.grouptreatintterms`

— Method`grouptreatintterms(treatintterms)`

Return the argument without change for allowing later comparisons based on object-id. See also `GroupTreatintterms`

.

`DiffinDiffsBase.groupxterms`

— Method`groupxterms(xterms)`

Return the argument without change for allowing later comparisons based on object-id. See also `GroupXterms`

.

`DiffinDiffsBase.makeweights`

— Method`makeweights(args...)`

Construct a generic `Weights`

vector. See also `MakeWeights`

.

`InteractionWeightedDIDs.CheckFEs`

— Type`CheckFEs <: StatsStep`

Call `InteractionWeightedDIDs.checkfes!`

to drop any singleton observation from fixed effects over the relevant subsample.

`InteractionWeightedDIDs.CheckVcov`

— Type`CheckVcov <: StatsStep`

Call `InteractionWeightedDIDs.checkvcov!`

to exclude rows that are invalid for variance-covariance estimator.

`InteractionWeightedDIDs.EstVcov`

— Type`EstVcov <: StatsStep`

Call `InteractionWeightedDIDs.estvcov`

to estimate variance-covariance matrix and F-statistic.

`InteractionWeightedDIDs.GroupFEterms`

— Type`GroupFEterms <: StatsStep`

Call `InteractionWeightedDIDs.groupfeterms`

to obtain one of the instances of `feterms`

that have been grouped by equality (`hash`

) for allowing later comparisons based on object-id.

This step is only useful when working with `@specset`

and `proceed`

.

`InteractionWeightedDIDs.MakeFESolver`

— Type`MakeFESolver <: StatsStep`

Call `InteractionWeightedDIDs.makefesolver`

to construct the fixed effect solver.

`InteractionWeightedDIDs.MakeFEs`

— Type`MakeFEs <: StatsStep`

Call `InteractionWeightedDIDs.makefes`

to construct `FixedEffect`

s from `data`

(the full sample).

`InteractionWeightedDIDs.MakeTreatCols`

— Type`MakeTreatCols <: StatsStep`

Call `InteractionWeightedDIDs.maketreatcols`

to obtain residualized binary columns that capture treatment effects and obtain cell-level weight sums and observation counts.

`InteractionWeightedDIDs.MakeYXCols`

— Type`MakeYXCols <: StatsStep`

Call `InteractionWeightedDIDs.makeyxcols`

to obtain residualized outcome variables and covariates.

`InteractionWeightedDIDs.ParseFEterms`

— Type`ParseFEterms <: StatsStep`

Call `InteractionWeightedDIDs.parsefeterms!`

to extract any `FixedEffectTerm`

or interaction of `FixedEffectTerm`

from `xterms`

. Whether any intercept term should be omitted is also determined.

`InteractionWeightedDIDs.SolveLeastSquares`

— Type`SolveLeastSquares <: StatsStep`

Call `InteractionWeightedDIDs.solveleastsquares!`

to solve the least squares problem for regression coefficients and residuals.

`InteractionWeightedDIDs.SolveLeastSquaresWeights`

— Type`SolveLeastSquaresWeights <: StatsStep`

Call `InteractionWeightedDIDs.solveleastsquaresweights`

to solve the cell-level weights assigned by least squares. If `lswtnames`

is not specified, cells are defined by the partition based on treatment time and calendar time.

`InteractionWeightedDIDs.checkfes!`

— Method`checkfes!(args...)`

Drop any singleton observation from fixed effects over the relevant subsample. See also `CheckFEs`

.

`InteractionWeightedDIDs.checkvcov!`

— Method`checkvcov!(args...)`

Exclude rows that are invalid for variance-covariance estimator. See also `CheckVcov`

.

`InteractionWeightedDIDs.estvcov`

— Method`estvcov(args...)`

Estimate variance-covariance matrix and F-statistic. See also `EstVcov`

.

`InteractionWeightedDIDs.groupfeterms`

— Method`groupfeterms(feterms)`

Return the argument without change for allowing later comparisons based on object-id. See also `GroupFEterms`

.

`InteractionWeightedDIDs.makefes`

— Method`makefes(args...)`

Construct `FixedEffect`

s from `data`

(the full sample). See also `MakeFEs`

.

`InteractionWeightedDIDs.makefesolver`

— Method`makefesolver(args...)`

Construct `FixedEffects.AbstractFixedEffectSolver`

. See also `MakeFESolver`

.

`InteractionWeightedDIDs.maketreatcols`

— Method`maketreatcols(args...)`

Construct residualized binary columns that capture treatment effects and obtain cell-level weight sums and observation counts. See also `MakeTreatCols`

.

`InteractionWeightedDIDs.makeyxcols`

— Method`makeyxcols(args...)`

Construct columns for outcome variables and covariates and residualize them with fixed effects. See also `MakeYXCols`

.

`InteractionWeightedDIDs.parsefeterms!`

— Method`parsefeterms!(xterms)`

Extract any `FixedEffectTerm`

or interaction of `FixedEffectTerm`

from `xterms`

and determine whether any intercept term should be omitted. See also `ParseFEterms`

.

`InteractionWeightedDIDs.solveleastsquares!`

— Method`solveleastsquares!(args...)`

Solve the least squares problem for regression coefficients and residuals. See also `SolveLeastSquares`

.

`InteractionWeightedDIDs.solveleastsquaresweights`

— Method`solveleastsquaresweights(args...)`

Solve the cell-level weights assigned by least squares. If `lswtnames`

is not specified, cells are defined by the partition based on treatment time and calendar time. See also `SolveLeastSquaresWeights`

.