2017-04-19 42 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() 

我無法真正嘗試沒有數據的代碼,但我認爲它應該可以工作。