我想绘制(使用ggplot2)线性混合效果模型(来自lme4的lmer函数)以及表示标准错误的误差条。这是模型:
m1 <- lmer(repinterv ~ prevoutc * outcome * prevtask + (1|id), p1)
Repinterv是一个连续的因变量,而三个因子是二元的,在受试者内。数据框的每一行都是单一的实验试验。
虽然我有一个工作线来适应每个效果和交互,但我真的很喜欢错误栏。
p1$fit = model.matrix(m1) %% fixef (m1) # fits
p1$fitse = model.matrix(m1) %% coef(summary(m1))[,2] # standard errors
此处的第一行计算模型每个级别的拟合值。我试图将它用于模型总结中的标准误差,但问题是虽然固定效果表示为与截距的相对差异,但SE是实际值(据我所知)。如果我使用这种方法,那么我得到每个拟合的总和标准误差,而不是coef(summary(m1))的实际值。
ggplot(p1, aes(x = outcome, y = fit, fill = prevoutc)) + # grouped bar plot
facet_wrap(~ prevtask, labeller = gridlab) +
stat_summary(fun.y=mean,geom="bar", position=position_dodge(0.9)) +
geom_errorbar(aes(ymin=fit-fitse, ymax=fit+fitse), width = 0.1, size =0.5, position = position_dodge(0.9))
如果我应该使用其他操作符或不同的方法来减去此模型的SE,请告诉我吗?
编辑: 以下是我的模型的系数。我想绘制估计值和相应的标准误差。
Estimate Std. Error t value
(Intercept) 335.69881 16.190304 20.734558
prevoutc1 10.74602 7.143445 1.504318
outcome1 37.36665 8.471898 4.410659
prevtask1 12.92135 7.330930 1.762580
prevoutc1:outcome1 -14.39956 9.338283 -1.541992
prevoutc1:prevtask1 17.37322 10.491121 1.655993
outcome1:prevtask1 -29.37134 9.957079 -2.949795
prevoutc1:outcome1:prevtask1 14.75692 13.539756 1.089896