我正在使用效应包绘制有序logistic回归的效应,我想向多面板图添加一条不同的水平线(如果预测变量没有效应,则表示预期基线概率),图中每个面板的基线概率都不同。
下面是一个示例数据集:
# Simulate some data
data = data.frame(predictor_x = rnorm(100, mean = 5, sd = 1),
response_y = as.factor(rbinom(100, size = 2, prob = 0.5)))
# Make a model
library(MASS)
model = polr(response_y ~ predictor_x, data = data, Hess= TRUE)
# Plot
library(effects)
p1 = plot(Effects(focal.predictor = "predictor_x", model))
# View
p1
# Try to add a red dashed line for expected probabilities
p1 + abline(h = c(0.25, 0.5, 0.25), col = "red", lty = 3) #failed
给定这些图,我想在y = 0.25处添加一条水平线,用于上图,y = 0.5用于中图,y = 0.25用于下图。
此外,我知道+通常是ggplot格式,所以我也不确定这是否会工作,或者如果你可以/如何添加更多的信息(如一条线)到一个保存的绘图对象?
1条答案
按热度按时间pnwntuvh1#
Effect
对象的plot
方法使用lattice
绘图系统,该系统既不基于base R也不基于ggplot。然而,ggeffect
包可以使用ggplot框架有效地生成相同的绘图,该框架更容易使用。在您的情况下,我们可以执行以下操作: