2016-03-21 95 views
1

我正在使用lme4包來運行混合模型。我想將固定效果結果和隨機效果結果提取到單獨的數據集中,以便我們可以將其用於進一步分析。但不幸的是我不能。提取數據幀中的固定效應和隨機效應

E.g.

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

我嘗試使用以下的方法來提取固定效果和隨機效應:分別

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

View(fixEffect) 

我試圖fixef和ranef爲固定效應和隨機效應,並嘗試創建使用的結果數據集它。但它給了我以下錯誤:我實際上希望輸出,因爲我們得到的SAS,solutionF和solutionR。但是,如果不可能得到像這樣的輸出,固定和隨機的係數就會完成。

如果有人能幫助我,我將不勝感激。

感謝和問候,

+1

請提供一個可重現的示例數據和一些代碼。 'help(「lmer」)'演示了一個可重複的例子的樣子。 – Roland

+0

感謝Roland的評論。我用小玩具的例子更新了這個問題。 – Beta

+0

'fixEffect'是一個(named)向量和'randEffect'數據框架列表。 'View'只能處理data.frames。您可以改爲「打印」。由於我不使用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

謝謝你的回答Gregor!你的回答完全符合我的要求。但是有可能得到固定和隨機效應模型的係數的p值嗎? – Beta

+0

也許......但不容易。我曾經使用'arm :: se.ranef'來以相同的格式獲取標準錯誤。 「掃帚」套件應該簡化這一點,例如'broom :: tidy(mixed_results,effects =「ran_modes」)',但我現在還沒有運氣。這可能是因爲我的工作電腦有一個老版本的R.你可以看到它應該如何工作[這裏](https://github.com/dgrtwo/broom/issues/96)。 – Gregor

+0

謝謝格里高爾的幫助!在我的情況「整潔」工作。 – Beta