# umx!

## Growth Curve

### This is not finished: e-mail me to prioritise this page if you want it sooner.

Latent growth models are common used when a measure is repeated over time, and we wish to propose and test a model in which the manifest variable is accounted for in terms of a mean and a growth function. This is implemented as a restricted common factor model.

This page shows how to implement these analyses in `umx` and `OpenMx`.

Let’s build this simple example based on 5 repeated measures (1:5) of “x”. Graphically, the model looks like this (means not shown): Here’s the umx code: 7 lines without comments. Several assumptions, as you can see.

``````require(umx)
data(myLongitudinalData)

latents = c("intercept", "slope")
manifests = c("x1", "x2", "x3", "x4", "x5")
m1 <- umxRAM("Linear Growth Curve", data = myLongitudinalData,
# Latent variances and covariance
umxPath(unique.pairs = c("intercept", "slope"), values = 1, labels = c("var_i", "cov", "var_s")),
umxPath("intercept", to = manifests, fixedAt = 1),
umxPath("slope", to = manifests, fixedAt = 0:(length(manifests) - 1)),
# Allow latent means to be estimated
umxPath(means = c("intercept", "slope"), labels = c("meani", "means")),
# Equate manifest residuals, and fix means @0
umxPath(var = manifests, labels = "residual"), # one label equates these!
umxPath(mean = manifests, fixedAt = 0)
)

umxSummary(m1); round(coef(m1), 2)
plot(m1, means = T)

``````

χ²(2494) = 9.19, p = 0.818; CFI = 1.003; TLI = 1.002; RMSEA = 0

residual var_i cov var_s mean_i mean_s
2.32 3.88 0.46 0.26 9.93 1.81