library(lavaan)
example(cfa)
HS.model <- ' visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9
'
fit <- cfa(HS.model, data = HolzingerSwineford1939, meanstructure = TRUE)
data <- HolzingerSwineford1939[1:10, -(1:6)]
variant1 <- evaluateDataLikelihood(fit, data, loglik="model")
variant2 <- sum(evaluateDataLikelihood(fit, data, loglik="mvn"))
test_that("multivariate normal likelihood is correct (with means)", {expect_equal(variant1, variant2)})
# revert back to default
options(semtree.lavaan_loglik_computation = "model")
# should also be identical to:
# sigma<- fitted(fit)$cov
# mean<-fitted(fit)$mean
# -2*sum(mvtnorm::dmvnorm(data, mean=mean,sigma=sigma, log=TRUE))
#
# covariance only
#
HS.model <- ' visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9
'
fit <- cfa(HS.model, data = HolzingerSwineford1939, meanstructure = FALSE)
data <- HolzingerSwineford1939[1:10,]
variant1 <- evaluateDataLikelihood(fit, data,loglik = "model")
variant2 <- sum(evaluateDataLikelihood(fit, data, loglik="mvn"))
#-2*sum(mvtnorm::dmvnorm(data, mean=,sigma=sigma, log=TRUE))
test_that("multivariate normal likelihood is correct (no means)", {expect_equal(variant1, variant2)})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.