2016-03-21 13 views
1

私は混合モデルを実行するためにlme4パッケージを使用しています。私は固定効果結果とランダム効果結果を別々のデータセットで抽出して、さらなる解析に使用できるようにしたい。しかし、残念ながら私はできませんでした。データフレーム内の固定効果とランダム効果の抽出

など。

mixed_result<- lmer(Reaction ~ Days + (1|Subject), data = sleepstudy) 

Iは、以下の方法を用いて固定効果および変量効果を抽出することを試みた:

fixEffect<-fixef(mixed_result) 
randEffect<-ranef(mixed_result) 

View(fixEffect) 

Iの結果を用いて、それぞれ、固定効果および変量効果のためfixefとranefを試み、データセットを作成しようそれ。しかし、それは私に次のエラーを与えていた:

Error in View : cannot coerce class ""ranef.mer"" to a data.frame

私は実際に私たちがSAS、solutionFとsolutionRのように出力したい。しかし、そのような出力を得ることができない場合には、fixedとrandomのcoeffが行います。

誰かが私を助けることができれば感謝します。オブジェクトの構造を見るために

おかげで、よろしく、

+1

サンプルデータといくつかのコードで再現可能な例を提供してください。 'help(" lmer ")'は、再現可能な例がどのように見えるかを示しています。 – Roland

+0

あなたのコメントのためのRolandありがとうございます。小さなおもちゃの例で質問を更新します。 – Beta

+0

'fixEffect'は(名前付きの)ベクトルで、' randEffect'はdata.framesのリストです。 'View'はdata.framesしか扱えません。代わりに 'print'を使うことができます。私はSASを使用しないので、出力がどのように見えるのか分かりません。 – Roland

答えて

1

使用str

str(fixEffect) 
# named vector, can probably be coerced to data.frame 

View(as.data.frame(fixEffect)) 
# works just fine 


str(randEffect) 
# list of data frames (well, list of one data frame in this case) 

View(randEffect$Subject) 

あなたが持っていた場合は、またSubjectによって変化させる斜面が、彼らはSubjectレベルインターセプトと同じSubjectデータフレームに行くだろう、と言います。しかし、他の変数groupによって傍受が変化し、レベルがSubjectと異なる場合、それらは明らかに同じデータフレームに入ることができませんでした。このため、データフレームのリストが使用されるため、同じ構造がより複雑なモデルに対して一般化することができます。

+0

あなたの答えグレゴールありがとう!あなたの答えは、私が求めていたことを完全に満足させます。しかし、固定効果モデルとランダム効果モデルの係数のp値を得ることは可能ですか? – Beta

+0

おそらく...しかし簡単にはありません。私は 'arm :: se.ranef'を使用して、同じ形式で標準エラーを出力していました。 'broom'パッケージは' broom :: tidy(mixed_results、effects = "ran_modes") 'のようにこれを単純化することになっていますが、私は今それを運行していません。私の仕事用コンピュータに古いバージョンのRがあるためかもしれません。あなたはそれがどのように動作すべきかを見ることができます(https://github.com/dgrtwo/broom/issues/96)。 – Gregor

+0

Gregorさん、ありがとうございました!私の場合、「きちんと」働いた。 – Beta