问题
I have a 2x2x2 factorial design with one random effect. The data (dat) is as follows:
colour size level marbles set
Blue Large Low 80 1
Blue Large High 9 2
Blue Small Low 91 1
Blue Small High 2 1
White Large Low 80 2
White Large High 9 1
White Small Low 91 2
White Small High 2 1
I want to plot two models:
mod1 <- lmer(marbles ~ colour + size + level + colour:size + colour:level + size:level + (1|set), data = dat)
mod2 <- lmer(marbles ~ colour + size + level +(1|set), data = dat)
I usually use the following code to do my plots:
pd <- position_dodge(0.82)
ggplot(dat, aes(x=colour, y=marbles, fill = level)) + theme_bw() +
stat_summary(geom="bar", fun.y=mean, position = "dodge") +
stat_summary(geom="errorbar", fun.data=mean_cl_boot, position = pd)+
+ facet_grid(~size)
I'm unsure on how to replace the terms with coefficients from the model estimates. Any ideas on how can I plot the estimates of the final model in gpplot2? It would be helpful if anyone can suggest a easy way to print the model estimates too
In addition, is there anyway that I can get ggplot2 to display bars on top of the graphs showing interactions that are significant?
回答1:
Here's one approach to plotting predictions from a linear mixed effects model for a factorial design. You can access the fixed effects coefficient estimates with fixef(...)
or coef(summary(...))
. You can access the random effects estimates with ranef(...)
.
library(lme4)
mod1 <- lmer(marbles ~ colour + size + level + colour:size + colour:level + size:level + (1|set), data = dat)
mod2 <- lmer(marbles ~ colour + size + level +(1|set), data = dat)
dat$preds1 <- predict(mod1,type="response")
dat$preds2 <- predict(mod2,type="response")
dat<-melt(dat,1:5)
pred.plot <- ggplot() +
geom_point(data = dat, aes(x = size, y = value,
group = interaction(factor(level),factor(colour)),
color=factor(colour),shape=variable)) +
facet_wrap(~level) +
labs(x="Size",y="Marbles")
These are fixed effects predictions for the data you presented in your post. Points for the colors are overlapping, but that will depend on the data included in the model. Which combination of factors you choose to represent via the axes, facets, or shapes may shift the visual emphasis of the graph.
来源:https://stackoverflow.com/questions/45677536/how-to-plot-mixed-effects-model-estimates-in-ggplot2-in-r