首页 > 解决方案 > R绘制一个斜率,描绘两个斜率与预测值(或边际效应)图形的差异[使用ggpredict和绘图]

问题描述

我想绘制一个带有置信区间的斜率,描述两个斜率与预测值(或边际效应)图的差异。作为说明,我在“mtcars”数据下方使用并执行以下交互模型:

data("mtcars")
main_model <- lm(mpg ~ am + wt + am*wt, mtcars)
summary(main_model)

其中,我的因变量“mpg”是一个连续变量,我的自变量是“am”(二进制变量)和“wt”(连续变量)。

在执行模型后,我使用“ggpredict”来估计我的因变量的预测值,基于“am”和以“wt”为条件的两个可能值:

predict <- ggpredict(main_model, c("wt[all]", "am"), 
                       ci.lvl = 0.95) 

然后,我使用“绘图”绘制预测值:

plot_pred <- plot(predict, colors="bw") + labs(
  x="Weight (1000 lbs)",
  y="Miles/(US) gallon") +
  theme(legend.position="bottom")
plot_pred

这会产生以下情节: 预测值图

图中有两个斜率: 1.当“am”为0时(实线斜率);2.当“am”为1时(带虚线的斜率)。现在,我想绘制一个类似的图形,但只有一个斜率是这两个斜率(1 和 2)之间的差异,置信区间为 95%。

是否有任何软件包可以直接生成我想要的情节,或者在调用“ggpredict”或“情节”时?

标签: rggplot2plotpredictmarginal-effects

解决方案


推荐阅读