R 使用plot_模型等绘制两条对应于两个不同变量(且其中一个变量不是图例)的直线

R 使用plot_模型等绘制两条对应于两个不同变量(且其中一个变量不是图例)的直线,r,sjplot,R,Sjplot,我正在使用两个预测因子B和C进行多水平(逻辑)回归。B和C具有相似的范围,因此可以合理地使用x轴上相同的单位来显示它们。我之所以要这样做,是因为我想在我的图中强调它们有不同的坡度 当我尝试使用plot_模型和下面的代码执行此操作时,其中一个变量被发送到图例中,我得到了。然而,我宁愿这样做 这能做到吗 谢谢你的帮助 df_test <- data.frame('subj' = c('Joe', 'Joe', 'Joe', 'Moe', 'Moe', 'Moe'), 'A' = c(1, 0,

我正在使用两个预测因子B和C进行多水平(逻辑)回归。B和C具有相似的范围,因此可以合理地使用x轴上相同的单位来显示它们。我之所以要这样做,是因为我想在我的图中强调它们有不同的坡度

当我尝试使用plot_模型和下面的代码执行此操作时,其中一个变量被发送到图例中,我得到了。然而,我宁愿这样做

这能做到吗

谢谢你的帮助

df_test <- data.frame('subj' = c('Joe', 'Joe', 'Joe', 'Moe', 'Moe', 'Moe'), 'A' = c(1, 0, 1, 0, 1, 1), 'B' = c(3, 2, 1, 4, 3, 3), 'C' = c(3, 3, 2, 1, 3, 0))

m = glmer(A ~ B + C + (B + C| subj), data=df_test, family='binomial')

print(plot_model(m, terms = c('B', 'C'), type='pred'))
df_test您希望“覆盖”两个绘图,一个带有B的预测值,一个用于C。由于sjPlot使用ggeffects包来计算边际效果,我建议您直接使用ggeffects,并构建自己的ggplot对象

由于B和C具有不同的范围,您可以强制使两者的范围相同(请参见下面的第二个示例)

库(lme4)
图书馆(ggeffects)
图书馆(GG2)

df_测试啊,这是如此的简洁和优雅。谢谢,我将从此开始使用ggpredict并制作自己的图表。