Hi, all.
I encountered too much improper solution when fixing parameters in the 'simsem' context.
Can I solve too much improper solution issue?
Seongho
# Specifying population (true-parameter) model
pop.model <- "
F1 =~ .70*y1 + .75*y2 + .80*y3 + .85*y4 + .65*y5
F2 =~ .70*y5 + .75*y6 + .80*y7 + .85*y8 + .65*y9
F3 =~ .70*y9 + .75*y10 + .80*y11 + .85*y12 + .65*y13
F4 =~ .70*y13 + .75*y14 + .80*y15 + .85*y16
F1 ~~ .30*F3
F2 ~~ .35*F3
F2 ~~ .40*F4
F1 ~~ 0*F2
F1 ~~ 0*F4
F3 ~~ 0*F4
F1 ~~ 1*F1
F2 ~~ 1*F2
F3 ~~ 1*F3
F4 ~~ 1*F4
y1 ~~ .51*y1
y2 ~~ .4375*y2
y3 ~~ .36*y3
y4 ~~ .2775*y4
y5 ~~ .0875*y5
y6 ~~ .4375*y6
y7 ~~ .36*y7
y8 ~~ .2775*y8
y9 ~~ .0875*y9
y10 ~~ .4375*y10
y11 ~~ .36*y11
y12 ~~ .2775*y12
y13 ~~ .0875*y13
y14 ~~ .4375*y14
y15 ~~ .36*y15
y16 ~~ .2775*y16
y2 ~~ .14*y10
y7 ~~ .15*y11
y8 ~~ .16*y16
"
# ... and set simulation model for the true-parameter condition (checkup data generation bias)
c0.model <-"
F1 =~ NA*y1 + NA*y2 + NA*y3 + NA*y4 + NA*y5
F2 =~ NA*y5 + NA*y6 + NA*y7 + NA*y8 + NA*y9
F3 =~ NA*y9 + NA*y10 + NA*y11 + NA*y12 + NA*y13
F4 =~ NA*y13 + NA*y14 + NA*y15 + NA*y16
F1 ~~ Z1*F1
F2 ~~ Z2*F2
F3 ~~ Z3*F3
F4 ~~ Z4*F4
F1 ~~ 0*F2
F1 ~~ NA*F3 # NA means forcely set to 'free parameter'
F1 ~~ 0*F4
F2 ~~ NA*F3
F2 ~~ NA*F4
F3 ~~ 0*F4
y2 ~~ y10
y7 ~~ y11
y8 ~~ y16
# Constrain parameters
Z1 == 1
Z2 == 1
Z3 == 1
Z4 == 1
"
# output of c0 (population model itself)
c0.output_50 <- sim(nRep = 500, model = c0.model, n = 50, generate = pop.model, lavaanfun = "cfa", multicore = F, seed = 20161020, completeRep = T)