2017-04-19 37 views
1

我有以下的混合效应模型:密谋从混合模式lme4与CI乐队互动

p1 <- lmer(log(price) ~ year*loca + (1|author), data = df) 

“今年是连续 “失水”是2级

我试图分类变量绘制这个模型的重要交互。

下面的代码(使用visreg封装)绘制从两个“轨迹”的线,但它不产生一个95%的置信带:

visreg(p1, "year", by = "loca", overlay = T, 
    line=list(lty = 1, col = c("grey", "black")), points=list(cex=1, pch=19, 
    col = c("grey", "black")), type="conditional", axes = T) 

然后,我尝试以下代码让我来绘制线条,但在顶部没有数据点,并没有顺式:

visreg(p1, "year", by = "loca", overlay = T, 
    line=list(lty = 1, col = c("grey60", "black")), points=list(cex=1, 
    pch=19, col = c("grey", "black")), 
    type="conditional", trans = exp, fill.par = list(col = c("grey80", 
    "grey70"))) 

我得到CI乐队当我使用类型=“对比”,而不是“条件”。但是,当我尝试使用trans = exp来转换价格时,这不起作用。

总的来说,我需要能够绘制具有以下属性的相互作用:

  • 置信带
  • 逆转换点
  • 预测线(一个用于“轨迹”的每个电平)

很高兴尝试其他方法....但我似乎无法找到迄今为止的任何工作。

非常感谢!

回答

0

一种可能性是与使用effects包:

library(effects) 
eff.p1 <- effect("year*loca", p1, KR=T) 

,那么你可以直接与该软件包提供了绘制它,并从那里定制:

plot(eff.p1) 

或采取什么效果产生并用ggplot将其绘制在更好的图中:

eff.p1 <- as.data.frame(eff.p1) 
ggplot(eff.p1, aes(year, linetype=factor(loca), 
            color = factor(loca))) + 
    geom_line(aes(y = fit, group=factor(loca)), size=1.2) + 
    geom_line(aes(y = lower, 
       group=factor(loca)), linetype =3) + 
    geom_line(aes(y = upper, 
       group=factor(loca)), linetype =3) + 
    xlab("year") + 
    ylab("Marginal Effects on Log Price") + 
    scale_colour_discrete("") + 
    scale_linetype_discrete("") + 
    labs(color='loca') + theme_minimal() 

我无法真正尝试没有数据的代码,但我认为它应该可以工作。