Извлечение p-значений для фиксированных эффектов из вывода nlme / lme4

Я пытаюсь извлечь отдельные элементы (в частности, p-значения) из таблицы фиксированных эффектов, содержащейся в объекте, созданном сводным вызовом модели смешанных эффектов.

Данные игрушек:

set.seed(1234)
score <- c(rnorm(8, 20, 3), rnorm(8, 35, 5))
rep <- rep(c(0,1,2,3), each = 8)
group <- rep(0:1, times = 16)
id <- factor(rep(1:8, times = 4))

df <- data.frame(id, group, rep, score)

Теперь создадим модель

require(nlme)

modelLME <- summary(lme(score ~ group*rep, data = df, random = ~ rep|id))

modelLME

Когда мы вызываем это, мы получаем результат

Linear mixed-effects model fit by REML
 Data: df 
       AIC      BIC    logLik
  219.6569 230.3146 -101.8285

Random effects:
 Formula: ~rep | id
 Structure: General positive-definite, Log-Cholesky parametrization
            StdDev       Corr  
(Intercept) 2.664083e-04 (Intr)
rep         2.484345e-05 0     
Residual    7.476621e+00       

Fixed effects: score ~ group * rep 
                Value Std.Error DF   t-value p-value
(Intercept) 22.624455  3.127695 22  7.233587  0.0000
group       -1.373324  4.423229  6 -0.310480  0.7667
rep          2.825635  1.671823 22  1.690152  0.1051
group:rep    0.007129  2.364315 22  0.003015  0.9976
 Correlation: 
          (Intr) group  rep   
group     -0.707              
rep       -0.802  0.567       
group:rep  0.567 -0.802 -0.707

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-1.86631781 -0.74498367  0.03515508  0.76672652  1.91896578 

Number of Observations: 32
Number of Groups: 8 

Теперь я могу извлечь оценки параметров для фиксированных эффектов с помощью

fixef(modelLME)

но как мне извлечь p-значения?

Чтобы извлечь всю таблицу случайных эффектов, мы бы назвали

VarCorr(modelLME)

а затем извлеките отдельные элементы в этой таблице с помощью функции подмножества [,]. Но я не знаю, какая функция эквивалентна VarCorr() для фиксированных эффектов.


person llewmills    schedule 10.06.2016    source источник


Ответы (1)


Вы можете извлечь p-значения с помощью:

modelLME$tTable[,5]

    (Intercept)           group             rep       group:rep 
0.0000003012047 0.7666983225269 0.1051210824864 0.9976213300628 

Как правило, просмотр str(modelLME) помогает найти различные компоненты.

person erc    schedule 10.06.2016
comment
Спасибо @beetroot. Я запустил names(modelLME), но не сразу стало ясно, что tTable - это таблица с фиксированными эффектами. Также таблица случайных эффектов, которая вызывается с помощью VarCorr, не указана в списке элементов, вызываемых этой функцией, поэтому я не был уверен, будут ли фиксированные эффекты тоже. Но они. Ваше здоровье. - person llewmills; 10.06.2016