我已经成功地使用sjplot
的plot_model
函数绘制了一个多项逻辑回归模型。该回归包含一个结果(Info Seought,具有3个水平)和2个连续预测因子(DSA,阿萨)。我还更改了plot_model
中的ASA值,以便根据ASA平均值和SD绘制预测效果结果:
plot1 <- plot_model(multinomialmodel , type = "pred", terms = c("DSA", "ASA[meansd]")
我有两个定制问题:
1)面顺序:方面顺序基于结果级别的默认字母顺序(“展开”,然后“第一张图片”,然后“多张图片”)。有没有一种方法来调整这一点?我试着用factor()
重新排序的水平(例如here和ggplot2
)在运行和绘制模型之前,但这并没有导致产生的面顺序发生任何变化。也许是通过ggplot 2的一些东西,就像在第一个解决方案中提供的here?
2)图例标签:图例当前用阿萨的-1 SD、平均值和+1 SD值标记绘制的线;有没有一种方法可以调整这些标签,而不是简单地说“-1 SD”,“平均值”和“+1 SD”,而不是原始值?
谢谢!
2条答案
按热度按时间n8ghc7c11#
首先,我使用您提供的数据复制您的图:
您尝试重新因子化没有成功,因为
sjPlot::plot_model()
没有注意到。解决重新排序小平面的一种方法是如上所述生成初始图,并将数据中的小平面变量替换为包含所需顺序的因子版本,如下所示:最后,为了解决图例标签问题,我们可以将色标替换为包含所需标签的色标:
yr9zkbsy2#
在@the-mad-statter的回答之后,我想添加一个注解,说明当您使用白色图形时如何更改图例标题和标签,其中线条因线型而异(即使用
sjplot
的colors = "bw"
参数)。由于这些线都是黑色的,如果你想改变轴的标题和标签,你需要使用
scale_linetype_manual()
函数而不是scale_color_discrete()
,像这样:生成的图形如下所示:
请注意,我还利用这个机会更改了将线型分配给值的方式,使线对应于阿萨的平均值。