#Create a 3 correlated factor model using default values and 10000 observations
v9 <- sim.hierarchical(n=10000)
model <- 'F1=~ V1 + V2 + V3
F2=~ V4 + V5 + V6
F3 =~ V7 +V8 + V9'
test <- CFA.bifactor(model,v9$observed)
test #show the results
omegaStats(test$r,test$loadings)
om <- omega(v9$observed)
omegaStats(r=om$R,loads=om$schmid$sl[,1:4])
##Now creat a three factor model with orthogonal factors
model <- 'F1=~ V1 + V2 + V3
F2=~ V4 + V5 + V6
F3 =~ V7 +V8 + V9'
model9 <- 'F1 =~ .9*V1 + .8*V2 + .7*V3
F2 =~ .8*V4 + .7*V5 +.6*V6
F3 =~ .7*V7 + .6*V8 +.5*V9'
set.seed(42)
v9s <- sim(model9,n=500)
test <- CFA(model9,v9s$observed ) #do a cfa using Lavaan syntax
test.bi <- CFA.bifactor(model9,v9s$observed)
test.hi <- CFA.bifactor(model9,v9s$observed,g=TRUE)
om <- omega(v9s$observed)
omegaStats(test.bi$r,test.bi$loadings)
###do not run the following test of lavaan
if(FALSE) {
lav.model <- 'g=~ V1 + V2 + V3+ V4 + V5 + V6+V7 +V8 + V9
F1=~ V1 + V2 + V3
F2=~ V4 + V5 + V6
F3 =~ V7 +V8 + V9'
library(lavaan)
fit <- cfa(lav.model,data=v9$observed,orthogonal=TRUE,std.lv=TRUE, estimator="ULS")
omegaStats(r=v9$r,lavaan=fit) #from lavaan
fa.congruence(fit,test)
} #end of lavaan test
Run the code above in your browser using DataLab