Nothing
## -----------------------------------------------------------------------------
#| label: setup
#| include: false
library(INLAvaan)
library(lavaan)
## -----------------------------------------------------------------------------
#| label: install-instructions
#| eval: false
# # Load all libraries for this example
# library(INLAvaan)
# library(tidyverse)
# library(lavaan)
## -----------------------------------------------------------------------------
#| label: simulate-data
pop_mod <- "
eta1 =~ 1*y1 + 0.8*y2 + 0.6*y3
eta2 =~ 1*y4 + 0.8*y5 + 0.6*y6
eta2 ~ 0.3*eta1
# Variances
y1 ~~ 0.5*y1
y2 ~~ 0.5*y2
y3 ~~ 0.5*y3
y4 ~~ 0.5*y4
y5 ~~ 0.5*y5
y6 ~~ 0.5*y6
eta1 ~~ 1*eta1
eta2 ~~ 1*eta2
"
set.seed(123)
dat <- lavaan::simulateData(pop_mod, sample.nobs = 1000)
str(dat)
## -----------------------------------------------------------------------------
#| label: fit-model
mod <- "
eta1 =~ y1 + y2 + y3
eta2 =~ y4 + y5 + y6
eta2 ~ eta1
"
fit <- asem(mod, dat)
## -----------------------------------------------------------------------------
#| label: results-str
str(fit, 1)
fit
## -----------------------------------------------------------------------------
#| label: results-coef-summary
# Inspect coefficients
coef(fit)
# Summary of results
summary(fit)
## -----------------------------------------------------------------------------
#| label: results-pred
eta_preds <- predict(fit, nsamp = 100)
length(eta_preds)
head(eta_preds[[1]])
## -----------------------------------------------------------------------------
#| label: results-pred-summary
summ_eta <- summary(eta_preds)
str(summ_eta)
head(summ_eta$Mean)
## -----------------------------------------------------------------------------
#| label: results-simulate
yrep <- simulate(fit, nsim = 1, seed = 1)
head(yrep[[1]])
## -----------------------------------------------------------------------------
#| label: results-fitmeasures
fitmeasures(fit)
## -----------------------------------------------------------------------------
#| label: results-diagnostics
diagnostics(fit)
## -----------------------------------------------------------------------------
#| label: results-timing
timing(fit)
## -----------------------------------------------------------------------------
#| label: results-plot
plot(fit)
## -----------------------------------------------------------------------------
mod2 <- "
# A model with uncorrelated factors
eta1 =~ y1 + y2 + y3
eta2 =~ y4 + y5 + y6
eta1 ~~ 0*eta2
"
fit2 <- asem(mod2, dat)
compare(fit, fit2)
## -----------------------------------------------------------------------------
#| label: results-loo
loo(fit)
## -----------------------------------------------------------------------------
#| label: results-compare-loo
compare(fit, fit2, loo = TRUE)
## -----------------------------------------------------------------------------
#| label: priors-default
priors_for() # similar to blavaan::dpriors()
## -----------------------------------------------------------------------------
#| label: priors-global
DP <- priors_for(theta = "gamma(1,1)", psi = "gamma(1,1)")
DP
## fit <- asem(mod, dat, dpriors = DP) # not run
## -----------------------------------------------------------------------------
mod <- "
eta1 =~ y1 + y2 + prior('normal(1,3)')*y3
eta2 =~ y4 + y5 + y6
eta2 ~ prior('normal(0,.5)')*eta1
"
## fit <- asem(mod, dat) # not run
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.