1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
|
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/runMI-methods.R
\docType{class}
\name{OLDlavaan.mi-class}
\alias{OLDlavaan.mi-class}
\alias{show,OLDlavaan.mi-method}
\alias{summary,OLDlavaan.mi-method}
\alias{fitMeasures,OLDlavaan.mi-method}
\alias{fitmeasures,OLDlavaan.mi-method}
\alias{anova,OLDlavaan.mi-method}
\alias{nobs,OLDlavaan.mi-method}
\alias{coef,OLDlavaan.mi-method}
\alias{vcov,OLDlavaan.mi-method}
\alias{fitted,OLDlavaan.mi-method}
\alias{fitted.values,OLDlavaan.mi-method}
\alias{residuals,OLDlavaan.mi-method}
\alias{resid,OLDlavaan.mi-method}
\title{Class for a lavaan Model Fitted to Multiple Imputations}
\usage{
\S4method{show}{OLDlavaan.mi}(object)
\S4method{summary}{OLDlavaan.mi}(object, se = TRUE, ci = FALSE,
level = 0.95, standardized = FALSE, rsquare = FALSE, fmi = FALSE,
scale.W = !asymptotic, omit.imps = c("no.conv", "no.se"),
asymptotic = FALSE, header = TRUE, output = "text",
fit.measures = FALSE, ...)
\S4method{nobs}{OLDlavaan.mi}(object, total = TRUE)
\S4method{coef}{OLDlavaan.mi}(object, type = "free", labels = TRUE,
omit.imps = c("no.conv", "no.se"))
\S4method{vcov}{OLDlavaan.mi}(object, type = c("pooled", "between", "within",
"ariv"), scale.W = TRUE, omit.imps = c("no.conv", "no.se"))
\S4method{anova}{OLDlavaan.mi}(object, ...)
\S4method{fitMeasures}{OLDlavaan.mi}(object, fit.measures = "all",
baseline.model = NULL, output = "vector", omit.imps = c("no.conv",
"no.se"), ...)
\S4method{fitmeasures}{OLDlavaan.mi}(object, fit.measures = "all",
baseline.model = NULL, output = "vector", omit.imps = c("no.conv",
"no.se"), ...)
\S4method{fitted}{OLDlavaan.mi}(object, omit.imps = c("no.conv", "no.se"))
\S4method{fitted.values}{OLDlavaan.mi}(object, omit.imps = c("no.conv",
"no.se"))
\S4method{residuals}{OLDlavaan.mi}(object, type = c("raw", "cor"),
omit.imps = c("no.conv", "no.se"))
\S4method{resid}{OLDlavaan.mi}(object, type = c("raw", "cor"),
omit.imps = c("no.conv", "no.se"))
}
\arguments{
\item{object}{An object of class \code{OLDlavaan.mi}}
\item{se, ci, level, standardized, rsquare, header, output}{See
\code{\link[lavaan:parameterEstimates]{lavaan::parameterEstimates()}}. The \verb{output=} argument
can also be passed to \code{\link[lavaan:fitMeasures]{lavaan::fitMeasures()}}.}
\item{fmi}{\code{logical} indicating whether to include the Fraction Missing
Information (FMI) for parameter estimates in the \code{summary}
output (see \strong{Value} section).}
\item{scale.W}{\code{logical}. If \code{TRUE} (default), the \code{vcov}
method will calculate the pooled covariance matrix by scaling the
within-imputation component by the ARIV (see Enders, 2010, p. 235,
for definition and formula). Otherwise, the pooled matrix is
calculated as the weighted sum of the within-imputation and
between-imputation components (see Enders, 2010, ch. 8, for details).
This in turn affects how the \code{summary()} method calculates its
pooled standard errors, as well as \code{\link[=lavTestWald.mi]{lavTestWald.mi()}}.}
\item{omit.imps}{\code{character} vector specifying criteria for omitting
imputations from pooled results. Can include any of
\code{c("no.conv", "no.se", "no.npd")}, the first 2 of which are the
default setting, which excludes any imputations that did not
converge or for which standard errors could not be computed. The
last option (\code{"no.npd"}) would exclude any imputations which
yielded a nonpositive definite covariance matrix for observed or
latent variables, which would include any "improper solutions" such
as Heywood cases. NPD solutions are not excluded by default because
they are likely to occur due to sampling error, especially in small
samples. However, gross model misspecification could also cause
NPD solutions, users can compare pooled results with and without
this setting as a sensitivity analysis to see whether some
imputations warrant further investigation. Specific imputation
numbers can also be included in this argument, in case users want to
apply their own custom omission criteria (or simulations can use
different numbers of imputations without redundantly refitting the
model).}
\item{asymptotic}{\code{logical}. If \code{FALSE} (typically a default, but
see \strong{Value} section for details using various methods), pooled
tests (of fit or pooled estimates) will be \emph{F} or \emph{t}
statistics with associated degrees of freedom (\emph{df}). If
\code{TRUE}, the (denominator) \emph{df} are assumed to be
sufficiently large for a \emph{t} statistic to follow a normal
distribution, so it is printed as a \emph{z} statisic; likewise,
\emph{F} times its numerator \emph{df} is printed, assumed to follow
a \eqn{\chi^2} distribution.}
\item{fit.measures, baseline.model}{See \code{\link[lavaan:fitMeasures]{lavaan::fitMeasures()}}.
\code{summary(object, fit.measures = TRUE)} will print (but not
return) a table of fit measures to the console.}
\item{...}{Additional arguments passed to \code{\link[=lavTestLRT.mi]{lavTestLRT.mi()}}, or
subsequently to \code{\link[lavaan:lavTestLRT]{lavaan::lavTestLRT()}}.}
\item{total}{\code{logical} (default: \code{TRUE}) indicating whether the
\code{nobs} method should return the total sample size or (if
\code{FALSE}) a vector of group sample sizes.}
\item{type}{The meaning of this argument varies depending on which method it
it used for. Find detailed descriptions in the \strong{Value} section
under \code{coef}, \code{vcov}, and \code{residuals}.}
\item{labels}{\code{logical} indicating whether the \code{coef} output
should include parameter labels. Default is \code{TRUE}.}
}
\value{
\item{coef}{\code{signature(object = "OLDlavaan.mi", type = "free", labels = TRUE, omit.imps = c("no.conv","no.se"))}:
See \link[lavaan:lavaan-class]{lavaan::lavaan}. Returns the pooled point estimates (i.e.,
averaged across imputed data sets; see Rubin, 1987).}
\item{vcov}{\code{signature(object = "OLDlavaan.mi", scale.W = TRUE, omit.imps = c("no.conv","no.se"), type = c("pooled","between","within","ariv"))}: By default, returns the
pooled covariance matrix of parameter estimates (\code{type = "pooled"}),
the within-imputations covariance matrix (\code{type = "within"}), the
between-imputations covariance matrix (\code{type = "between"}), or the
average relative increase in variance (\code{type = "ariv"}) due to
missing data.}
\item{fitted.values}{\code{signature(object = "OLDlavaan.mi", omit.imps = c("no.conv","no.se"))}: See \link[lavaan:lavaan-class]{lavaan::lavaan}.
Returns model-implied moments, evaluated at the pooled point estimates.}
\item{fitted}{alias for \code{fitted.values}}
\item{residuals}{\code{signature(object = "OLDlavaan.mi", type = c("raw","cor"), omit.imps = c("no.conv","no.se"))}:
See \link[lavaan:lavaan-class]{lavaan::lavaan}. By default (\code{type = "raw"}), returns
the difference between the model-implied moments from \code{fitted.values}
and the pooled observed moments (i.e., averaged across imputed data sets).
Standardized residuals are also available, using Bollen's
(\code{type = "cor"} or \code{"cor.bollen"}) or Bentler's
(\code{type = "cor.bentler"}) formulas.}
\item{resid}{alias for \code{residuals}}
\item{nobs}{\code{signature(object = "OLDlavaan.mi", total = TRUE)}: either
the total (default) sample size or a vector of group sample sizes
(\code{total = FALSE}).}
\item{anova}{\code{signature(object = "OLDlavaan.mi", ...)}:
Returns a test of model fit for a single model (\code{object}) or test(s)
of the difference(s) in fit between nested models passed via \code{...}.
See \code{\link[=lavTestLRT.mi]{lavTestLRT.mi()}} and \code{\link[=compareFit]{compareFit()}} for details.}
\item{fitMeasures}{\code{signature(object = "OLDlavaan.mi", fit.measures = "all", baseline.model = NULL, output = "vector", omit.imps = c("no.conv","no.se"), ...)}: See lavaan's
\code{\link[lavaan:fitMeasures]{lavaan::fitMeasures()}} for details. Pass additional arguments
to \code{\link[=lavTestLRT.mi]{lavTestLRT.mi()}} via \code{...}.}
\item{fitmeasures}{alias for \code{fitMeasures}.}
\item{show}{\code{signature(object = "OLDlavaan.mi")}: returns a message about
convergence rates and estimation problems (if applicable) across imputed
data sets.}
\item{summary}{\code{signature(object = "OLDlavaan.mi", se = TRUE, ci = FALSE, level = .95, standardized = FALSE, rsquare = FALSE, fmi = FALSE, scale.W = !asymptotic, omit.imps = c("no.conv","no.se"), asymptotic = FALSE, header = TRUE, output = "text", fit.measures = FALSE, ...)}:
See \code{\link[lavaan:parameterEstimates]{lavaan::parameterEstimates()}} for details.
By default, \code{summary()} returns pooled point and \emph{SE}
estimates, along with \emph{t} test statistics and their associated
\emph{df} and \emph{p} values. If \code{ci = TRUE}, confidence intervals
are returned with the specified confidence \code{level} (default 95\\% CI).
If \code{asymptotic = TRUE}, \emph{z} instead of \emph{t} tests are
returned. \code{standardized} solution(s) can also be requested by name
(\code{"std.lv"} or \code{"std.all"}) or both are returned with \code{TRUE}.
\emph{R}-squared for endogenous variables can be requested, as well as the
Fraction Missing Information (FMI) for parameter estimates. By default, the
output will appear like \code{lavaan}'s \code{summary()} output, but if
\code{output == "data.frame"}, the returned \code{data.frame} will resemble
the \code{parameterEstimates()} output. The \code{scale.W} argument is
passed to \code{vcov} (see description above).
Setting \code{fit.measures=TRUE} will additionally print fit measures to
the console, but they will not be returned; additional arguments may be
passed via \code{...} to \code{\link[lavaan:fitMeasures]{lavaan::fitMeasures()}} and
subsequently to \code{\link[=lavTestLRT.mi]{lavTestLRT.mi()}}.}
}
\description{
This class extends the \link[lavaan:lavaanList-class]{lavaan::lavaanList} class, created by
fitting a lavaan model to a list of data sets. In this case, the list of
data sets are multiple imputations of missing data.
}
\section{Slots}{
\describe{
\item{\code{coefList}}{\code{list} of estimated coefficients in matrix format (one
per imputation) as output by \code{lavInspect(fit, "est")}}
\item{\code{phiList}}{\code{list} of model-implied latent-variable covariance
matrices (one per imputation) as output by
\code{lavInspect(fit, "cov.lv")}}
\item{\code{miList}}{\code{list} of modification indices output by
\code{\link[lavaan:modificationIndices]{lavaan::modindices()}}}
\item{\code{seed}}{\code{integer} seed set before running imputations}
\item{\code{lavListCall}}{call to \code{\link[lavaan:lavaanList]{lavaan::lavaanList()}} used to fit the
model to the list of imputed data sets in \verb{@DataList}, stored as a
\code{list} of arguments}
\item{\code{imputeCall}}{call to imputation function (if used), stored as a
\code{list} of arguments}
\item{\code{convergence}}{\code{list} of \code{logical} vectors indicating whether,
for each imputed data set, (1) the model converged on a solution, (2)
\emph{SE}s could be calculated, (3) the (residual) covariance matrix of
latent variables (\eqn{\Psi}) is non-positive-definite, and (4) the
residual covariance matrix of observed variables (\eqn{\Theta}) is
non-positive-definite.}
\item{\code{lavaanList_slots}}{All remaining slots are from
\link[lavaan:lavaanList-class]{lavaan::lavaanList}, but \code{\link[=runMI]{runMI()}} only populates a
subset of the \code{list} slots, two of them with custom information:}
\item{\code{DataList}}{The \code{list} of imputed data sets}
\item{\code{SampleStatsList}}{List of output from
\code{lavInspect(fit, "sampstat")} applied to each fitted
model}
\item{\code{ParTableList}}{See \link[lavaan:lavaanList-class]{lavaan::lavaanList}}
\item{\code{vcovList}}{See \link[lavaan:lavaanList-class]{lavaan::lavaanList}}
\item{\code{testList}}{See \link[lavaan:lavaanList-class]{lavaan::lavaanList}}
\item{\code{h1List}}{See \link[lavaan:lavaanList-class]{lavaan::lavaanList}. An additional element is
added to the \code{list}: \verb{$PT} is the "saturated" model's parameter
table, returned by \code{\link[lavaan:lav_partable]{lavaan::lav_partable_unrestricted()}}.}
\item{\code{baselineList}}{See \link[lavaan:lavaanList-class]{lavaan::lavaanList}}
}}
\section{Objects from the Class}{
See the \code{\link[=runMI]{runMI()}} function for details.
}
\examples{
## See the new lavaan.mi package
}
\references{
Asparouhov, T., & Muthen, B. (2010). \emph{Chi-square statistics
with multiple imputation}. Technical Report. Retrieved from
\url{http://www.statmodel.com/}
Enders, C. K. (2010). \emph{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 \emph{p}-values with multiply-imputed
data. \emph{Statistica Sinica, 1}(1), 65--92. Retrieved from
\url{https://www.jstor.org/stable/24303994}
Meng, X.-L., & Rubin, D. B. (1992). Performing likelihood ratio tests with
multiply-imputed data sets. \emph{Biometrika, 79}(1), 103--111.
\doi{10.2307/2337151}
Rubin, D. B. (1987). \emph{Multiple imputation for nonresponse in surveys}.
New York, NY: Wiley.
}
\author{
Terrence D. Jorgensen (University of Amsterdam;
\email{TJorgensen314@gmail.com})
}
|