# Exercise 12.1 library(lavaan) syntax1 <- 'dist ~ speed' fit1 <- sem(syntax1, data = cars, meanstructure = TRUE) summary(fit1) library(car) syntax2 <- ' simplicity ~ a*fatalism depression ~ b*simplicity + cp*fatalism ind := a*b ' fit2 <- sem(syntax2, data = Ginzberg, meanstructure = TRUE, se = "boot", bootstrap = 1000) parameterEstimates(fit2, boot.ci.type = "bca.simple") # Exercise 12.2 syntax3 <- 'f1 =~ complaints + privileges + learning + raises + critical + advance' fit3 <- cfa(syntax3, data = attitude) summary(fit3, fit = TRUE) # Not a good fit library(psych) syntax4 <- ' O =~ O1 + O2 + O3 + O4 + O5 C =~ C1 + C2 + C3 + C4 + C5 E =~ E1 + E2 + E3 + E4 + E5 A =~ A1 + A2 + A3 + A4 + A5 N =~ N1 + N2 + N3 + N4 + N5 ' fit4 <- cfa(syntax4, data = bfi, group = "gender") fit41 <- cfa(syntax4, data = bfi, group = "gender", group.equal = "loadings") fit42 <- cfa(syntax4, data = bfi, group = "gender", group.equal = c("loadings", "intercepts")) anova(fit4, fit41) anova(fit41, fit42) # Cannot achieve scalar invariance # Homework 12 library(MBESS) data(HS.data) syntax <- ' spatial =~ visual + cubes + paper + flags verbal =~ general + paragrap + sentence + wordc + wordm speed =~ addition + code + counting + straight memory =~ wordr + numberr + figurer + object + numberf + figurew ' fit <- cfa(syntax, data = HS.data) summary(fit, fit = TRUE) month <- HS.data$agey * 12 + HS.data$agem dat <- data.frame(HS.data, month, genderdummy = as.numeric(HS.data$Gender)) syntaxa <- ' spatial =~ visual + cubes + paper + flags verbal =~ general + paragrap + sentence + wordc + wordm speed =~ addition + code + counting + straight memory =~ wordr + numberr + figurer + object + numberf + figurew spatial + verbal + speed + memory ~ month + genderdummy ' fita <- cfa(syntaxa, data = dat) summary(fita, fit = TRUE) fitb <- cfa(syntax, data = HS.data, group = "school") fitb1 <- cfa(syntax, data = HS.data, group = "school", group.equal = "loadings") fitb2 <- cfa(syntax, data = HS.data, group = "school", group.equal = c("loadings", "intercepts")) anova(fitb, fitb1) anova(fitb1, fitb2)