if (FALSE) {
HS <- data.frame(scale(HolzingerSwineford1939[,7:15]))
# Note to find number of factors, recommended to use
# fa.parallel() from the psych package
# using the wrong number of factors can distort the results
mod = efaModel(3, colnames(HS))
semFit = sem(mod, data = HS, int.ov.free = FALSE, int.lv.free = FALSE,
std.lv = TRUE, std.ov = TRUE, auto.fix.single = FALSE, se = "none")
# note it requires smaller penalties than other applications
reg.out2 = cv_regsem(model = semFit, pars_pen = "loadings",
mult.start = TRUE, multi.iter = 10,
n.lambda = 100, type = "lasso", jump = 10^-5, lambda.start = 0.001)
reg.out2
plot(reg.out2) # note that the solution jumps around -- make sure best fit makes sense
}
Run the code above in your browser using DataLab