【问题标题】:Scaling axis in a GLMM plot with library "effects"具有库“效果”的 GLMM 图中的缩放轴
【发布时间】:2016-02-29 10:58:23
【问题描述】:

我是一名生物学专业的毕业生,正在尝试使用 R 和库“效果”绘制我的 GLMM。

我正在尝试使用此字符串绘制我的模型,并且效果很好。

library(effects) 
mod.cowles <- glmer((preshunt)~road+(1|area),family=binomial)
eff.cowles <- allEffects(mod.cowles) 
plot(eff.cowles, main= FALSE,rug=FALSE,colors=1, band.colors=3, col=1)

我的问题是我需要具有相同 lims 的轴,从 0 到 0.5 值并具有相同的缩放比例。我正在尝试通过将它们添加到脚本中来做到这一点

mod.cowles <- glmer((preshunt)~road+(1|area),family=binomial)
eff.cowles <- allEffects(mod.cowles) 
plot(eff.cowles, main= FALSE,rug=FALSE,colors=1, band.colors=3, col=1, xlim=c(0,0.5), ylim=c(0,0.5))

但随后 R 决定给我一个空图,甚至没有正确的轴。

谁能告诉我如何解决这个问题?

【问题讨论】:

    标签: r plot effects mixed-models


    【解决方案1】:

    我写信给函数 John Fox 的作者,得到回复说 y 上的值实际上是 logit 尺度(:facepalm:,这是一个逻辑回归!)。将“原始”值转换为 logit 并返回是相当简单的。

    这是一个可重现的例子:

    library(effects) 
    library(lme4)
    
    mod.cowles <- glmer(volunteer ~ extraversion + (1|sex), 
                        family=binomial, data = Cowles) # doesn't converge
    eff.cowles <- allEffects(mod.cowles) 
    
    plot(eff.cowles, main= FALSE,rug=FALSE,colors=1, band.colors=3, col=1, 
         xlim=c(0, 20), ylim = qlogis(c(0.1, 0.6))) # also log(c(.1, .6)/c(.6, .1))
    

    你可以设置ylim = qlogis(c(0.01, 0.99)),你会得到下面的情节。请注意,这是在 logit 尺度上,其中 0 和 1 是 (-)Inf

    qlogis(seq(0, 1, by = 0.1))
    [1] -Inf -2.1972246 -1.3862944 -0.8472979 -0.4054651 0.0000000
        0.4054651 0.8472979 1.3862944 2.1972246 Inf
    

    【讨论】:

    • 感谢您的帮助,看来我必须回到“试错”方法...
    • @Fabrizio 我已经更新了我的答案,不需要“蛮力”搜索模式。
    • 谢谢你,我试过你写的脚本,但它仍然没有给我想要的结果。我的合著者想要完整的 y 轴值,所以范围应该是 0-1。当我尝试设置这些值时,我仍然得到一个空图表,就像我在上面发布的那样。我会继续努力,也许我会用 ggplot2 得到一些结果。再次感谢!
    【解决方案2】:

    尽管这篇文章已经很老了,但这可能仍然对遇到同样问题的其他人有所帮助。我遇到了同样的问题,空图和错误的轴刻度,并认为它与 R 的版本或某些软件包有关。更换新版本解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      • 2016-12-27
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多