Как извлечь оценочную ковариационную матрицу внутри объекта из объекта lme () - PullRequest
0 голосов
/ 28 февраля 2019

Я пытался извлечь оценочную ковариационную матрицу внутри объекта после запуска случайной модели перехватов / наклонов с помощью lme ().Я получаю сообщение об ошибке с функцией getVarCov (), которую не могу понять.Смотрите пример ниже.

my.lme <- lme(ham.d ~ week, 
data = riesby, random = ~ week | id, 
na.action=na.exclude,
method="ML")

getVarCov(my.lme,type="marginal") 
Error in cond.var + Z %*% D %*% t(Z) : non-conformable arrays

Похоже, что существует проблема с тем, как хранится матрица проектирования для случайных эффектов, или, возможно, с их ковариационной матрицей.

Я могу рассчитать его вручную, извлекая ковариационную матрицу для случайных эффектов и дисперсии случайных ошибок, а также указав расчетную матрицу для случайных эффектов:

z <- matrix(c(1,1,1,1,1,1,0,1,2,3,4,5),byrow=F,nrow=6)
sigma.v <- getVarCov(my.lme)
z%*%sigma.v%*%t(z) + (my.lme$sigma)^2*diag(6)

          [,1]     [,2]      [,3]      [,4]      [,5]      [,6]
[1,] 24.845840 11.20833  9.787477  8.366625  6.945774  5.524922
[2,] 11.208328 24.08309 12.524539 13.182645 13.840751 14.498856
[3,]  9.787477 12.52454 27.478263 17.998665 20.735727 23.472790
[4,]  8.366625 13.18264 17.998665 35.031345 27.630704 32.446724
[5,]  6.945774 13.84075 20.735727 27.630704 46.742341 41.420658
[6,]  5.524922 14.49886 23.472790 32.446724 41.420658 62.611252

Любой советбудет принята с благодарностью.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...