虽然主效应的方向可以从估计的符号来解释,但交互作用效应的解释通常需要绘图。这个任务由R包sjPlot
来完成。例如,使用plot_model
函数,我绘制了连续变量和分类变量之间的相互作用。将分类变量传递给plot_model的fill
参数。
library(lme4)
#> Loading required package: Matrix
library(sjPlot)
#> Install package "strengejacke" from GitHub (`devtools::install_github("strengejacke/strengejacke")`) to load all sj-packages at once!
library(ggplot2)
theme_set(theme_sjplot())
cake$recipe_recoded = ifelse(cake$recipe == 'A', -0.5,
ifelse(cake$recipe == 'B', 0,
ifelse(cake$recipe == 'C', 0.5,
NA)))
fit = lmer(angle ~ recipe_recoded * temp +
(1|recipe_recoded:replicate),
cake, REML= FALSE)
plot_model(fit, type = 'pred', terms = c('temp', 'recipe_recoded'))
#> Warning: Ignoring unknown parameters: linewidth
创建于2023-06-24带有reprex v2.0.2
然而,我需要一个额外的特性,因为分类变量不是很有用,因为它是一个求和编码的转换。因此,我希望图显示原始变量的值(即“200”和“1200”),而不是模型中使用的求和编码变量的值(即-0.5和0.5)。
1条答案
按热度按时间46qrfjad1#
下面是一个使用自定义函数
alias_interaction_plot
的解决方案,来自https://pablobernabeu.github.io/2022/plotting-two-way-interactions-from-mixed-effects-models-using-alias-variables创建于2023-06-24带有reprex v2.0.2