使用ggplot2绘制混合模型中的标准误差条

时间:2018-04-10 12:55:00

标签: r ggplot2 lme4

我想绘制(使用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

这就是我目前的情节:3 factors

0 个答案:

没有答案