簡體   English   中英

如何在R中的ggplot2中繪制混合效果模型估計?

[英]How to plot mixed-effects model estimates in ggplot2 in R?

我有一個隨機效果的2x2x2析因設計。 數據(日期)如下:

  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

我想繪制兩個模型:

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)

我通常使用以下代碼進行繪圖:

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)

我不確定如何用模型估計中的系數替換這些項。 關於如何在gpplot2中繪制最終模型的估計值的任何想法? 如果有人也可以建議一種簡單的方法來打印模型估計值,將很有幫助

另外,無論如何,我是否可以讓ggplot2在圖表上方顯示條形圖,以顯示重要的交互作用?

這是一種針對因子設計從線性混合效應模型繪制預測的方法。 您可以使用fixef(...)coef(summary(...))訪問固定效果系數估算值。 您可以使用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")

在此處輸入圖片說明

這些是您在帖子中顯示的數據的固定效果預測。 顏色的點是重疊的,但這將取決於模型中包含的數據。 選擇通過軸,構面或形狀表示的因素的哪種組合可能會改變圖形的視覺重點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM