2016-05-02 19 views
0

混合効果モデルのサマリーコールによって作成されたオブジェクト内に含まれるランダムエフェクトテーブルから個々の要素を抽出しようとしています。具体的には、レベル2のランダムなエフェクトのそれぞれを抽出したいと思います。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) 

今、私たちはそれを呼び出すと、我々は、出力

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 

は、今私はランダム効果から残差を抽出することができます取得

require(nlme) 

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

modelLME 

モデルを作成上の表

modelLME$sigma 

しかし、私はそれがどこかに存在する必要があります(それぞれ2.664083e-042.484345e-05)この出力でランダム効果テーブルのStdDev列の(Intercept)rep行の値を見つけることができないと私はstr(modelLME)が、私を探しを通じて見えましたそれを見つけることができません。

+0

あなたは正しい@beetrootです。それを見つけるのを手伝ってくれてありがとう、それは私の質問に完全に答えました。 – llewmills

答えて

0

このようなものが欲しいですか?

library(nlme) 
library(broom) 

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

こんにちは@bramtayl、答えてくれてありがとうございます。しかし、私が探していた答えは、@ beetrootが見つけた重複した質問でした。 'nlme'と' lme4'の両方の 'VarCorr'関数は、残差テーブル全体を与えて、' [、] 'サブセッタを使って必要な要素を抽出することができます。 – llewmills

関連する問題