| calculate.D2 {semTools} | R Documentation |
This is a utility function used to calculate the "D2" statistic for pooling
test statistics across multiple imputations. This function is called by
several functions used for lavaan.mi objects, such as
lavTestLRT.mi, lavTestWald.mi, and
lavTestScore.mi. But this function can be used for any general
scenario because it only requires a vector of χ^2 statistics (one
from each imputation) and the degrees of freedom for the test statistic.
See Li, Meng, Raghunathan, & Rubin (1991) and Enders (2010, chapter 8) for
details about how it is calculated.
calculate.D2(w, DF = 0L, asymptotic = FALSE)
w |
|
DF |
degrees of freedom (df) of the χ^2 statistics.
If |
asymptotic |
|
A numeric vector containing the test statistic, df,
and a p value.
Terrence D. Jorgensen (University of Amsterdam; TJorgensen314@gmail.com)
Enders, C. K. (2010). Applied missing data analysis. New York, NY: Guilford.
Li, K.-H., Meng, X.-L., Raghunathan, T. E., & Rubin, D. B. (1991). Significance levels from repeated p-values with multiply-imputed data. Statistica Sinica, 1(1), 65–92. Retrieved from https://www.jstor.org/stable/24303994
lavTestLRT.mi, lavTestWald.mi,
lavTestScore.mi
## generate a vector of chi-squared values, just for example DF <- 3 # degrees of freedom M <- 20 # number of imputations CHI <- rchisq(M, DF) ## pool the "results" calculate.D2(CHI, DF) # by default, an F statistic is returned calculate.D2(CHI, DF, asymptotic = TRUE) # asymptotically chi-squared ## generate standard-normal values, for an example of Wald z tests Z <- rnorm(M) calculate.D2(Z) # default DF = 0 will square Z to make chisq(DF = 1) ## F test is equivalent to a t test with the denominator DF