使用nlme

时间:2016-05-02 13:08:19

标签: r mixed-models nlme

我试图从混合效果模型的摘要调用所创建的对象中包含的随机效果表中提取单个元素。具体来说,我想提取每个二级随机效应。

玩具数据:

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 

现在我可以通过

从上面的随机效应表中提取残差
modelLME$sigma

但是,我无法在此输出中的随机效果表的(Intercept)列的repStdDev行中找到值2.664083e-04和{{ 1}}分别)它必须在某处,我通过搜索2.484345e-05查看,但我找不到它。

1 个答案:

答案 0 :(得分:0)

你想要这样的东西吗?

library(nlme)
library(broom)

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