[R] How to extract R{i} from lme object?

Peng l12345p2000 at yahoo.com
Wed Mar 5 18:21:07 CET 2003


--- Renaud Lancelot <renaud.lancelot at cirad.fr> wrote:
> Hi Peng,
> 
> Peng wrote:
> [snip]
> > I am still wondering whether there is a function
> like
> > getVarCov(), so that I can get R var-cov matrix
> > directly. I looked through the function list of
> nlme,
> > but I cannot find.
> > 
> > Peng
> 
> R>library(nlme)
> R>data(Orthodont)
> R>fm1 <- lme(distance ~ age, data = Orthodont) #
> random is ~ age
> R>
> R>lapply(pdMatrix(fm1$modelStruct$reStruct), "*",
> fm1$sigma^2)
> $Subject
>              (Intercept)         age
> (Intercept)    5.414722 -0.32102403
> age           -0.321024  0.05126664
> 
> Comment: pdMatrix returns the list of var-cov
> matrices of the random 
> effects (one matrix for each level of the possibly
> multilevel 
> structure). For some computational reason, these
> matrices are scaled by 
> the residuals variance: you have to multiply them by
> the residuals variance.
> 
> If you really want a matrix (the above is a list
> with one component), 
> you can do:
> 
> R>lapply(pdMatrix(fm1$modelStruct$reStruct), "*",
> fm1$sigma^2)$Subject
>              (Intercept)         age
> (Intercept)    5.414722 -0.32102403
> age           -0.321024  0.05126664

Hi, Renaud,

I think reStruct gives the structure of random
effects, not the within group errors. And I happened
to want the structure for the later one, especially
when the within group errors are differently
structured between groups.

Regards,

Peng

------------------------------
Peng Liu                      |
Division of Statistics        |
Northern Illinois University  |
De Kalb, IL 60115, USA        |
E-mail: pliu at math.niu.edu     |
------------------------------



> 
> 
> Best,
> 
> Renaud
> 
> -- 
> Dr Renaud Lancelot, vétérinaire
> CIRAD, Département Elevage et Médecine Vétérinaire
> (CIRAD-Emvt)
> Programme Productions Animales
> http://www.cirad.fr/fr/pg_recherche/page.php?id=14
> 
> ISRA-LNERV                      tel    +221 832 49
> 02
> BP 2057 Dakar-Hann              fax    +221 821 18
> 79 (CIRAD)
> Senegal                         e-mail
> renaud.lancelot at cirad.fr
>



More information about the R-help mailing list