# Variance Component extraction in lme - Why do we multiply with sigma?

Hello all,

In the nlme package, I understand that to extract variance components in the random effects there's a VarCorr function. However, I recently also came across how it is done in another snippet of package

``````  VC <- lapply(pdMatrix(lmeObject\$modelStruct\$reStruct), "*",
lmeObject\$sigma^2)[[1]]
``````

where it multiplies the matrix of the random effects with the within-subject standard variance.
May I know why is this done?

Thank you,
F