[R-sig-ME] equivalent of lme4::rePCA() for lme models
Phillip Alday
me @end|ng |rom ph||||p@|d@y@com
Tue Feb 2 14:00:42 CET 2021
No, but you can implement it yourself; it's literally just the PCA/SVD
of the random-effects matrices:
> lme4:::rePCA.merMod
function (x)
{
chfs <- getME(x, "Tlist")
nms <- names(chfs)
unms <- unique(nms)
names(unms) <- unms
svals <- function(m) { # this is applied each of the RE matrices
vv <- svd(m, nv = 0L)
names(vv) <- c("sdev", "rotation")
vv$center <- FALSE
vv$scale <- FALSE
class(vv) <- "prcomp"
vv
}
structure(lapply(unms, function(m)
svals(Matrix::bdiag(chfs[which(nms ==
m)]))), class = "prcomplist")
}
You'll have to look at the nlme documentation to see how those are
stored internally. I don't remember off the top of my head.
Phillip
On 2/2/21 4:55 am, Simon Harmel wrote:
> Dear All,
>
> I was wondering if there is any `lme4::rePCA()` equivalent for
> `nlme::lme()` models (a reproducible example is below)?
>
> --Thanks, Simon
>
> library(nlme)
>
> dat <- read.csv('https://raw.githubusercontent.com/hkil/m/master/mv.l.csv')
>
> m22 <- lme(value ~0 + name, random = ~0 + name| Student, data = dat,
> correlation = corSymm(), weights = varIdent(form = ~1|name))
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-mixed-models using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>
More information about the R-sig-mixed-models
mailing list