我目前正在glm
中计算二项式概率R
。
为了分析交互效果,我使用effects
包。我想绘制不同的交互,其中一个交互变量在固定的水平上保持不变。我为变量的几个值执行此操作,以查看效果如何演变。
我使用以下操作:
plot(effect("varL",hx1,given.values=c("varP"=0.7)))
plot(effect("varL",hx1,given.values=c("varP"=0.1)))
但是,要以图形方式比较不同的图,所有图的y轴应该相同,但情况并非如此。在绘制不同的varP
值时,y轴会改变其范围。
指定ylim
时,绘图也不正确,并显示与指定完全不同的段。
我尝试了这篇文章中推荐的内容(Scaling axis in a GLM plot with library "effects"),但是却产生了错误消息:
plot(effect("varL",hx1,given.values=c("varP"=0.7)), ylim = qlogis(c(0, 0.20)))
Error in valid.viewport(x, y, width, height, just, gp, clip, xscale, yscale, :
invalid 'yscale' in viewport
现在我的问题是:如何使用概率glm
模型设置y轴以使用效果包绘制交互效果?我确信问题是ylim
采用指定的值而不将它们调整为logit和probit比例。 qlogis
可能适用于logit,但不适用于probit。
下面的一些代码来复制问题。你看到y轴“跳”,我想避免。
install.packages("effects")
require(effects)
varL <- rnorm(100, mean = 1000, sd = 10)
varP <- rnorm(100, mean = 5)
entry <- as.factor(sample(0:1, 100, replace = TRUE))
dat <- data.frame(varL, varP, entry)
hx1 <- glm(entry ~ varL*varP, data = dat, family = binomial(link = "probit"))
plot(effect("varL",hx1,given.values=c("varP"=min(dat$varP))))
plot(effect("varL",hx1,given.values=c("varP"=max(dat$varP))))
以下是“跳跃”y轴的情节:
答案 0 :(得分:0)
实际上我在逻辑回归方面遇到了类似的问题,我使用了建议Change the y axis on Effect plot in R
基本上我需要做的就是添加参数rescale.axis = F和ylim = c(0,1)