Извлечение матриц разности в lmer [duplicate]

C #:

    ChromeOptions options = new ChromeOptions();

    options.AddArgument("C:/Users/username/Documents/Visual Studio 2012/Projects/Interaris.Test/Interaris.Tes/bin/Debug/chromedriver.exe");

    ChromeDriver chrome = new ChromeDriver(options);

Работал для меня.

3
задан Ben Bolker 13 June 2016 в 18:26
поделиться

1 ответ

Из ?ranef:

Если 'condVar' равен 'TRUE', каждый из кадров данных имеет атрибут, называемый «postVar», который представляет собой трехмерный массив с симметричными гранями ; каждая грань содержит матрицу дисперсии-ковариации для определенного уровня фактора группировки. (Имя этого атрибута является историческим артефактом и может быть изменено на «condVar» в какой-то момент в будущем.)

Настройте пример:

library(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
rr <- ranef(fm1,condVar=TRUE)

Получите матрицу дисперсии-ковариации среди значений b для перехвата

pv <- attr(rr[[1]],"postVar")
str(pv)
##num [1:2, 1:2, 1:18] 145.71 -21.44 -21.44 5.31 145.71 ...

Итак, это массив 2x2x18; каждый срез представляет собой матрицу дисперсии-ковариации между условным перехватом и наклоном для конкретного объекта (по определению, перехваты и наклоны для каждого субъекта не зависят от перехватов и наклонов для всех других предметов).

To преобразуем это в матрицу дисперсии-ковариации (см. getMethod("image",sig="dgTMatrix") ...)

library(Matrix)
vc <- bdiag(  ## make a block-diagonal matrix
            lapply(
                ## split 3d array into a list of sub-matrices
                split(pv,slice.index(pv,3)),
                   ## ... put them back into 2x2 matrices
                      matrix,2)) 
image(vc,sub="",xlab="",ylab="",useRaster=TRUE)

2
ответ дан Ben Bolker 19 August 2018 в 04:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: