proc calis data=EFADATA cov method=ml pall pcoves; var = X1-X12; lineqs X1 = lm11 f1 + e1, X2 = lm21 f1 + lm22 f2 + lm23 f3 + e2, X3 = lm31 f1 + lm32 f2 + lm33 f3 + e3, X4 = lm41 f1 + lm42 f2 + lm43 f3 + e4, X5 = lm51 f1 + lm52 f2 + lm53 f3 + e5, X6 = lm61 f1 + lm62 f2 + lm63 f3 + e6, X7 = lm71 f1 + lm72 f2 + lm73 f3 + e7, X8 = lm82 f2 + e8, X9 = lm91 f1 + lm92 f2 + lm93 f3 + e9, X10 = lm101 f1 + lm102 f2 + lm103 f3 + e10, X11 = lm111 f1 + lm112 f2 + lm113 f3 + e11, X12 = lm123 f3 + e12; std f1-f3 = 1.0, e1-e12 = td1-td12; cov f1-f3 = ph21 ph31 ph32; run;