Nothing
lav_samplestats_wls_obs <- function(mean.g, cov.g, var.g,
th.g, th.idx.g,
res.int.g, res.cov.g, res.var.g, res.th.g,
res.slopes.g,
group.w.g,
categorical = FALSE,
conditional.x = FALSE,
meanstructure = FALSE,
correlation = FALSE,
slopestructure = FALSE,
group.w.free = FALSE) {
# WLS.obs
if (categorical) {
# order of elements is important here:
# 1. thresholds + (negative) means (interleaved)
# 2. slopes (if any)
# 3. variances (if any)
# 4. covariance matrix (no diagonal!)
# NOTE: prior to 0.5-17, we had this:
# TH[ov.types == "numeric"] <- -1*TH[ov.types == "numeric"]
# which is WRONG if we have more than one threshold per variable
# (thanks to Sacha Epskamp for spotting this!)
if (conditional.x) {
TH <- res.th.g
TH[th.idx.g == 0] <- -1 * TH[th.idx.g == 0]
nvar <- length(res.var.g)
num.idx <- which(!seq_len(nvar) %in% th.idx.g)
WLS.obs <- c(
TH,
lav_matrix_vec(res.slopes.g),
res.var.g[num.idx],
lav_matrix_vech(res.cov.g, diagonal = FALSE)
)
} else {
TH <- th.g
TH[th.idx.g == 0] <- -1 * TH[th.idx.g == 0]
nvar <- length(var.g)
num.idx <- which(!seq_len(nvar) %in% th.idx.g)
WLS.obs <- c(
TH,
var.g[num.idx],
lav_matrix_vech(cov.g, diagonal = FALSE)
)
}
} else {
# CONTINUOUS:
DIAG <- TRUE
if (correlation) {
DIAG <- FALSE
}
if (conditional.x) {
if (meanstructure) {
if (slopestructure) {
# order = vec(Beta), where first row are intercepts
# cbind(res.int, res.slopes) is t(Beta)
# so we need vecr
WLS.obs <- c(
lav_matrix_vecr(cbind(
res.int.g,
res.slopes.g
)),
lav_matrix_vech(res.cov.g, diagonal = DIAG)
)
} else {
WLS.obs <- c(
res.int.g,
lav_matrix_vech(res.cov.g, diagonal = DIAG)
)
}
} else {
if (slopestructure) {
WLS.obs <- c(
lav_matrix_vecr(res.slopes.g),
lav_matrix_vech(res.cov.g, diagonal = DIAG)
)
} else {
WLS.obs <- lav_matrix_vech(res.cov.g, diagonal = DIAG)
}
}
} else {
if (meanstructure) {
WLS.obs <- c(
mean.g,
lav_matrix_vech(cov.g, diagonal = DIAG)
)
} else {
WLS.obs <- lav_matrix_vech(cov.g, diagonal = DIAG)
}
}
}
# group.w.free?
if (group.w.free) {
WLS.obs <- c(group.w.g, WLS.obs)
}
WLS.obs
}
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.