On Mon, Mar 23, 2009 at 11:26 AM, Ben Domingue <ben.domingue at gmail.com> wrote:
Hello,
How do I get the standard deviations for the random effects out of the
lme object? ?I feel like there's probably a simple way of doing this,
but I can't see it. ?Using the first example from the documentation:
fm1 <- lme(distance ~ age, data = Orthodont) # random is ~ age
fm1
Linear mixed-effects model fit by REML
?Data: Orthodont
?Log-restricted-likelihood: -221.3183
?Fixed: distance ~ age
(Intercept) ? ? ? ? age
?16.7611111 ? 0.6601852
Random effects:
?Formula: ~age | Subject
?Structure: General positive-definite
? ? ? ? ? ?StdDev ? ?Corr
(Intercept) 2.3270339 (Intr)
age ? ? ? ? 0.2264276 -0.609
Residual ? ?1.3100399
Number of Observations: 108
Number of Groups: 27
I want to extract the column vector (2.3270339, 0.2264276,
1.3100399)'. ?Any thoughts?
To get the covariance matrix of the random effects:
Random effects variance covariance matrix
? ? ? ? ? ?(Intercept) ? ? ? age
(Intercept) ? ? 5.41510 -0.321060
age ? ? ? ? ? ?-0.32106 ?0.051269
?Standard Deviations: 2.327 0.22643
One way to extract the standard deviations shown by the print method above is:
diag(sqrt(getVarCov(fm1)))
(Intercept) ? ? ? ? age
?2.3270339 ? 0.2264276
Warning message:
In sqrt(getVarCov(fm1)) : NaNs produced
And to get the estimate of the error standard deviation: