我是一名生物学毕业生,试图使用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只是决定给我一个空图,甚至没有正确的轴。
有人能给我一个如何解决这个问题的提示吗?
答案 0 :(得分:3)
我写信给John Fox函数的作者并得到一个回复,y上的值实际上是logit scale(: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 scale,其中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
答案 1 :(得分:0)
即使这篇文章很老,但这可能仍然有帮助,或者遇到同样问题的其他人。我遇到了一个空图和&amp;错误的轴刻度,并认为它与R的版本或更确切的一些包。更改为新版本解决了问题。