proc calis data=raw outstat=ostat;
lineqs
v1 = a1 f1 + e1,
v2 = a2 f1 + e2,
v3 = a3 f1 + e3;
std
f1 = 1.,
e1-e3 = evar1-evar3;
run;
proc score data=raw score=ostat out=scores;
run;
but the OUTSTAT in my factor analysis included five sets of relevant
variables because of Multiple imputation. Consequently, five factor
scores will be produced, which are not so practical if used as index
my further analysis.
When I searched the network, I also found another way to do the
factor analysis after multiple imputation with Proc Calis with the
following statements:
proc calis data=esteem method=ml cov privec pcoves outstat=ostat;
var = s1-s4;
lineqs
s1 = 1.0 f1 + e1,
s2 = lam2 f1 + e2,
s3 = lam3 f1 + e3,
s4 = lam4 f1 + e4;
std
f1 = ph1,
e1-e4 = th1 th2 th3 th4;
cov
e2 e4 = th5;
by _imputation_;
ods output Estimates=a covmat=b;
run;
proc mianalyze parms=a covb=b ;
modeleffects lam2 lam3 lam4 ph1 th1 th2 th3 th4 th5;
run;
The predicted parameters generated by the above PROC MIANALYZE can be
used to produce FACTOR SCORES. But I don’t think they are the best
solution, especially, when I have to do multiple multilevel data
factor analysis.
So, I am wondering if you could give me a more practical solution so
that factor scores can be worked out with the PROC SCORE statements?
Thanks and best regards!
LHQ