# D3: Compare two nested models using D3-statistic In mice: Multivariate Imputation by Chained Equations

## Description

The D3-statistic is a likelihood-ratio test statistic.

## Usage

 `1` ```D3(fit1, fit0 = NULL, dfcom = NULL, df.com = NULL) ```

## Arguments

 `fit1` An object of class `mira`, produced by `with()`. `fit0` An object of class `mira`, produced by `with()`. The model in `fit0` is a nested within `fit1`. The default null model `fit0 = NULL` compares `fit1` to the intercept-only model. `dfcom` A single number denoting the complete-data degrees of freedom of model `fit1`. If not specified, it is set equal to `df.residual` of model `fit1`. If that cannot be done, the procedure assumes (perhaps incorrectly) a large sample. `df.com` Deprecated

## Details

The `D3()` function implement the LR-method by Meng and Rubin (1992). The implementation of the method relies on the `broom` package, the standard `update` mechanism for statistical models in `R` and the `offset` function.

The function calculates `m` repetitions of the full (or null) models, calculates the mean of the estimates of the (fixed) parameter coefficients β. For each imputed imputed dataset, it calculates the likelihood for the model with the parameters constrained to β.

The `mitml::testModels()` function offers similar functionality for a subset of statistical models. Results of `mice::D3()` and `mitml::testModels()` differ in multilevel models because the `testModels()` also constrains the variance components parameters. For more details on

## Value

An object of class `mice.anova`

## References

Meng, X. L., and D. B. Rubin. 1992. Performing Likelihood Ratio Tests with Multiply-Imputed Data Sets. Biometrika, 79 (1): 103–11.

`fix.coef`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```# Compare two linear models: imp <- mice(nhanes2, seed = 51009, print = FALSE) mi1 <- with(data = imp, expr = lm(bmi ~ age + hyp + chl)) mi0 <- with(data = imp, expr = lm(bmi ~ age + hyp)) D3(mi1, mi0) # Compare two logistic regression models imp <- mice(boys, maxit = 2, print = FALSE) fit1 <- with(imp, glm(gen > levels(gen) ~ hgt + hc + reg, family = binomial)) fit0 <- with(imp, glm(gen > levels(gen) ~ hgt + hc, family = binomial)) D3(fit1, fit0) ```