bsBootMiss | R Documentation |

Implement the Bollen and Stine's (1992) Bootstrap when missing observations
exist. The implemented method is proposed by Savalei and Yuan (2009). This
can be used in two ways. The first and easiest option is to fit the model to
incomplete data in `lavaan`

using the FIML estimator, then pass that
`lavaan`

object to `bsBootMiss`

.

bsBootMiss(x, transformation = 2, nBoot = 500, model, rawData, Sigma, Mu, group, ChiSquared, EMcov, writeTransData = FALSE, transDataOnly = FALSE, writeBootData = FALSE, bootSamplesOnly = FALSE, writeArgs, seed = NULL, suppressWarn = TRUE, showProgress = TRUE, ...)

`x` |
A target |

`transformation` |
The transformation methods in Savalei and Yuan (2009).
There are three methods in the article, but only the first two are currently
implemented here. Use |

`nBoot` |
The number of bootstrap samples. |

`model` |
Optional. The target model if |

`rawData` |
Optional. The target raw data set if |

`Sigma` |
Optional. The model-implied covariance matrix if |

`Mu` |
Optional. The model-implied mean vector if |

`group` |
Optional character string specifying the name of the grouping
variable in |

`ChiSquared` |
Optional. The model's |

`EMcov` |
Optional, if |

`writeTransData` |
Logical. If |

`transDataOnly` |
Logical. If |

`writeBootData` |
Logical. If |

`bootSamplesOnly` |
Logical. If |

`writeArgs` |
Optional |

`seed` |
The seed number used in randomly drawing bootstrap samples. |

`suppressWarn` |
Logical. If |

`showProgress` |
Logical. Indicating whether to display a progress bar while fitting models to bootstrap samples. |

`...` |
The additional arguments in the |

The second is designed for users of other software packages (e.g., LISREL,
EQS, Amos, or Mplus). Users can import their data, *χ^2* value, and
model-implied moments from another package, and they have the option of
saving (or writing to a file) either the transformed data or bootstrapped
samples of that data, which can be analyzed in other programs. In order to
analyze the bootstrapped samples and return a *p* value, users of other
programs must still specify their model using lavaan syntax.

As a default, this function returns a `BootMiss`

object containing the results of the bootstrap samples. Use `show`

,
`summary`

, or `hist`

to examine the results. Optionally, the
transformed data set is returned if `transDataOnly = TRUE`

. Optionally,
the bootstrap data sets are returned if `bootSamplesOnly = TRUE`

.

Terrence D. Jorgensen (University of Amsterdam; TJorgensen314@gmail.com)

Syntax for transformations borrowed from http://www2.psych.ubc.ca/~vsavalei/

Bollen, K. A., & Stine, R. A. (1992). Bootstrapping goodness-of-fit measures
in structural equation models. *Sociological Methods &
Research, 21*(2), 205–229. doi: 10.1177/0049124192021002004

Savalei, V., & Yuan, K.-H. (2009). On the model-based bootstrap with missing
data: Obtaining a p-value for a test of exact fit. *Multivariate
Behavioral Research, 44*(6), 741–763. doi: 10.1080/00273170903333590

`BootMiss`

## Not run: dat1 <- HolzingerSwineford1939 dat1$x5 <- ifelse(dat1$x1 <= quantile(dat1$x1, .3), NA, dat1$x5) dat1$x9 <- ifelse(is.na(dat1$x5), NA, dat1$x9) targetModel <- " visual =~ x1 + x2 + x3 textual =~ x4 + x5 + x6 speed =~ x7 + x8 + x9 " targetFit <- sem(targetModel, dat1, meanstructure = TRUE, std.lv = TRUE, missing = "fiml", group = "school") summary(targetFit, fit = TRUE, standardized = TRUE) # The number of bootstrap samples should be much higher. temp <- bsBootMiss(targetFit, transformation = 1, nBoot = 10, seed = 31415) temp summary(temp) hist(temp) hist(temp, printLegend = FALSE) # suppress the legend ## user can specify alpha level (default: alpha = 0.05), and the number of ## digits to display (default: nd = 2). Pass other arguments to hist(...), ## or a list of arguments to legend() via "legendArgs" hist(temp, alpha = .01, nd = 3, xlab = "something else", breaks = 25, legendArgs = list("bottomleft", box.lty = 2)) ## End(Not run)

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.