umxSummary reports the rA, rC, and rE for models. But this is done in the summary, and doesn't include CIs by default.
It’s computed as
solve(sqrt(I*A)) %*% A %*% solve(sqrt(I*A))
So you can add an mxAlgebra computing that into the model, then do mxSE on that
m2 = mxModel(m1, mxAlgebra(name="ra", solve(sqrt(top.I*top.A)) %*% top.A %*% solve(sqrt(top.I*top.A))) ) m2 = mxRun(m2) mxSE(ra, m2)
That returns SEs, and CI= ± 1.96 * SE
best, t
Note that correlations (phenotypic, genetic, whatever) are defined on a -1 to +1 scale. Also note that a large correlation has a smaller SE than has a small correlation. In finite samples, the error distribution of a correlation can be asymmetric, with a narrower interval on the side nearer 1 (or -1 if the estimated correlation is negative).
mxCI takes longer to run than mxSE, but the results of mxCI, which permits asymmetric confidence intervals, can be more informative.
The standard S3 method
confint
is also available. This use is likeHowever, these confidence intervals are based on the standard errors (Wald-type CIs), so the same caveats as Mike Neale alluded to still apply. In my experience, SE-based CIs are often "good enough" for unbounded parameters, but profile likelihood CIs (e.g. from
mxCI
) are far superior for bounded parameters like variances.