2016-03-21 89 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