在使用二进制预测器运行逻辑回归后,当我尝试使用visreg和ggplot绘制结果时,图例表明颜色已按组更改,但它们在图形中没有变化。
这是一个使用mtcar数据的问题的说明。
data(mtcars)
head(mtcars, 10)仅有的两个二进制变量是vs和am,但需要将它们从数字转换为因子,才能使此图起作用。
mtcars$vs <- as.factor(mtcars$vs)
mtcars$am <- as.factor(mtcars$am)运行模型。
logit1 <- glm(vs ~ am, data = mtcars, family = "binomial")现在尝试使用visreg以及附加的ggplot函数来绘制结果,以自定义颜色和标签。
visreg(logit1, "am", scale = "response", gg = TRUE, rug = FALSE, by = "am", overlay=TRUE) +
scale_color_manual(values=c("#1b9e77", "#d95f02"),
breaks=c(0, 1),
labels=c("Zeros", "Ones"))对于am =1组,线条和阴影区域都应该是橙色的(#d95f02),对于am =0组,线条和阴影区域都应该是绿色的(#1b9e77)。正如您所看到的,这不是代码产生的结果。

发布于 2019-05-01 04:31:06
现在,visreg中还没有任何功能可以让你做这样的事情。您当然可以使用以下命令更改颜色,例如:
visreg(logit1, "am", scale = "response", gg = TRUE, rug = FALSE, by = "am", overlay=TRUE,
fill.par=list(fill="#1b9e77"), line.par=list(col='#d95f02'))但是您所描述的是构建一个完全不同的图:其中am的值被映射到不同的颜色。这将涉及构建绘图所基于的完全不同的aes对象。除非有一些我不知道的令人惊叹的ggplot2技巧,否则如果不从头开始重建情节,就没有办法做到这一点。
https://stackoverflow.com/questions/55926415
复制相似问题