Sometimes you have a structural model with standardized path
coefficients, structural coefficients, and correlations, but you do not
know the error and disturbance variances. The purpose of simstandard
is to calculate these variances and then simulate multivariate normal
data based on your model.
You can either install simstandard from CRAN or install the development version of simstandard from github.
You can install simstandard from CRAN by running this code:
install.packages("simstandard")
To install the development version of simstandard, you need to check if the remotes packages is installed. If not, run this:
install.packages("remotes")
Once you are sure you have the remotes package installed, you can install the development version of simstandard from GitHub by running this code:
remotes::install_github("wjschne/simstandard")
The simstandard
package uses lavaan
syntax to specify
models.
library(simstandard)
model <- "
A =~ 0.5 * A1 + 0.8 * A2
B =~ 0.6 * B1 + 0.7 * B2
B ~ 0.8 * A
C ~~ 0.5 * A
"
data <- sim_standardized(m = model, n = 500)
knitr::kable(head(data), digits = 2)
A1 | A2 | B1 | B2 | C | A | B | e_A1 | e_A2 | e_B1 | e_B2 | d_B |
---|---|---|---|---|---|---|---|---|---|---|---|
0.95 | -0.20 | -0.48 | 0.64 | -0.07 | 0.25 | 0.62 | 0.83 | -0.40 | -0.85 | 0.21 | 0.42 |
-0.58 | -0.47 | 0.60 | 0.87 | 1.03 | 0.43 | -0.83 | -0.80 | -0.82 | 1.10 | 1.46 | -1.18 |
-0.06 | -1.82 | -1.45 | -1.34 | 0.10 | -1.46 | -2.38 | 0.67 | -0.66 | -0.02 | 0.33 | -1.21 |
-2.50 | -0.51 | -0.95 | -1.75 | -0.68 | -1.18 | -1.90 | -1.92 | 0.43 | 0.19 | -0.42 | -0.96 |
1.05 | -0.64 | 0.19 | 0.22 | 1.36 | -0.36 | -0.28 | 1.23 | -0.36 | 0.35 | 0.42 | 0.01 |
-0.01 | -0.83 | -0.67 | -0.86 | 0.49 | -0.75 | -0.32 | 0.36 | -0.24 | -0.47 | -0.63 | 0.27 |
See more in the tutorial for this package.