2016-02-29 67 views
1

我是一名生物学毕业生,试图用R和图书馆“效果”来绘制我的GLMM图。在具有图书馆“效果”的GLM图中缩放轴

我想使用这个字符串来绘制我的模型,它完美地工作。

enter image description here

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刚刚决定给我一个空的图形,甚至没有使用正确的轴。

enter image description here

谁能给我如何解决这个问题的提示?

回答

2

我写了函数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)) 

enter image description here

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

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 

enter image description here

+0

谢谢你的帮助,它似乎我必须回到“试错法”...... – Fabrizio

+0

@Fabrizio我已经更新了我的答案,不需要“强力”搜索模式。 –

+0

谢谢你,我试过你写的脚本,但它仍然没有给我想要的结果。我的共同作者想要完整的y轴值,所以范围应该是0-1。当我尝试设置这些值时,我仍然会看到一个空的图形,就像我上面发布的那个图形。 我会继续尝试,也许我会用ggplot2得到一些结果。再次感谢! – Fabrizio

0

即使这个职位是很老,这仍然可能是帮助或其他人遇到同样的问题。我遇到了一个空图&错误的轴比例相同的麻烦,并认为它与R的版本或更确切地说一些软件包有关。更改为新版本解决了这个问题。