【问题标题】:Set y-axis for glm probit regression in effect plot在效果图中为 glm 概率回归设置 y 轴
【发布时间】:2018-01-16 20:58:47
【问题描述】:

我目前正在计算R 中的二项式概率glm

为了分析交互效果,我使用了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

现在我的问题是:如何使用 probit 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 轴的图:

【问题讨论】:

  • 如果您向reproducible example 提供示例输入数据,这样我们就可以运行代码并自行测试,这样会更容易提供帮助。

标签: r plot glm


【解决方案1】:

实际上,我在逻辑回归方面遇到了类似的问题,我使用了Change the y axis on Effect plot in R 的建议

基本上我需要做的就是在 ylim=c(0,1) 之外添加参数 rescale.axis=F

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-08
    • 2011-08-13
    • 2021-03-03
    • 1970-01-01
    • 2019-03-14
    • 2015-09-13
    • 2013-02-05
    • 1970-01-01
    相关资源
    最近更新 更多