但是,这个情节看起来很糟糕(我必须将其格式化,好像是一张纸)。 我希望使用ggplot来使这个剧情有点漂亮,但我不知道该怎么做。 我知道我可以用
allEffects(glm)
提取一些效果值,但是我不确定如何正确使用它。
我尝试在GGPLOT函数中使用这些提取的效果,但是正如预期的那样,由于数据未正确格式,因此这不起作用。
我的问题:如何与GGPLOT同时使用Releffect功能。或者,我如何使用ggplot显示y轴的概率
allEffects
。您可以直接绘制
glm
现在是一个逻辑回归模型,在我们选择绘制此绘制的许多方式中,我们可以选择用
set.seed(69)
x <- sample(1:100, 100, prob = (100:1), replace = TRUE)
y <- rbinom(200, 1, (100 - x)/100)
df <- data.frame(x, y)
model1 <- glm(y ~ x, data = df, family = binomial)
绘制它,这当然很容易:model1
wo,为了获得对图的外观的更多控制,我们可以在GGPLOT中使用
allEffects
显示等效图。在这里,我选择了一些黑白出版物 - 类型设置,但显然您需要根据您的口味和日记的要求来更改这些设置:
plot(allEffects(model1))
由Reprex软件包(v0.3.0)在2020-07-15创建
geom_smooth
返回列表。如果列表中只有一个元素,您可以做这样的事情:
ggplot(df, aes(x, y)) +
geom_smooth(method = "glm", formula = y ~ x, colour = "black",
linetype = 2, fill = "gray80", alpha = 0.2,
method.args = list(family = binomial)) +
geom_rug(sides = "b") +
theme_bw() +
labs(y = "Probability", x = "Continuous variable",
title = "Logistic regression model") +
theme(text = element_text(size = 16),
plot.margin = margin(50, 50, 50, 50),
axis.title.x = element_text(vjust = -8),
axis.title.y = element_text(vjust = 10),
plot.title = element_text(vjust = 8))
在这一点上,您有一个数据框,可以以正常方式绘制点。 fwiw在某些情况下似乎可以更灵活,并为您提供相同的数据框架。