如何控制lmerTest输出结果的绘图布局?

时间:2015-07-29 17:19:41

标签: r plot ggplot2 lme4

我正在使用lme4和lmerTest运行混合模型,然后对我的模型使用向后变量消除(步骤)。这似乎运作良好。运行'步骤'在lmerTest中的函数,我绘制了最终模型。情节'结果与ggplot2输出类似。

我想改变剧情的布局。显而易见的答案是我自己手动创建一个带有ggplot2的原始图。如果可能的话,我想简单地改变输出的布局,以便每个图(即在最终模型中绘制的因变量)都在它们自己的行中。

见下面的代码和情节,看看我的结果。注意图有三列,我想要三行。此外,我还没有提供样本数据(如果我也需要,请告诉我们。)。

library(lme4)
library(lmerTest)

# Full model
Female.Survival.model.1 <- lmer(Survival.Female ~ Location + Substrate + Location:Substrate + (1|Replicate), data = Transplant.Survival, REML = TRUE)

# lmerTest - backward stepwise elimination of dependent variables
Female.Survival.model.ST <- step(Female.Survival.model.1, reduce.fixed = TRUE, reduce.random = FALSE, ddf = "Kenward-Roger" )
Female.Survival.model.ST
plot(Female.Survival.model.ST)

enter image description here

2 个答案:

答案 0 :(得分:3)

创建这些图的函数称为plotLSMEANS。您可以通过lmerTest:::plotLSMEANS查看该函数的代码。查看代码的原因是1)验证图表是否基于 ggplot2 代码和2),看看是否可以找出需要更改的内容以获得您想要的内容。

在这种情况下,听起来您希望facet_wrap有一列而不是三列。我使用** lmerTest *函数step帮助页面中的示例进行了测试,看起来您只需在绘图中添加一个新的facet_wrap图层即可。

library(ggplot2)
plot(Female.Survival.model.ST) + 
    facet_wrap(~namesforplots, scales = "free", ncol = 1)

答案 1 :(得分:1)

试试这个:plot(difflsmeans(Female.Survival.model.ST $ model,test.effs =“Location”))