首页 > 解决方案 > 用于绘制 allEffects 的反向转换响应

问题描述

我已经使用包中的一些模型进行glmer了拟合lme4,并进行了模型选择,MuMIn::dredge()然后进行了模型平均。我的回答是动物出现在相机陷阱前的频率(连续,每 100 小时相机时间的照片数量);预测器是从相机陷阱到景观类别的最小距离(以米为单位),有时与白天阶段(白天/夜晚)相互作用。

响应显示 Gamma 分布,但为了使模型工作,我必须通过添加 1 来转换我的响应,因为 Gamma 分布无法处理非正数据,并且我的很多数据点都是零,如此直方图所示:

在这个直方图中

此外,我必须缩放预测变量,否则我会收到收敛警告,例如

模型几乎无法识别:大特征值比 - 重新调整变量?

我用scale(..., center = TRUE).

我的模型公式如下所示:

mod <- glmer(Species_Frequency ~ scaled_Minimal_Distance1 + 
   scaled_Minimal_Distance2 + 
   (scaled_Minimal_Distance3 * Dayphase), 
data = data, 
na.action = na.fail, 
family = Gamma(link = "log"), 
control = glmerControl(optimizer = "bobyqa"))

现在我想绘制mod 使用的结果plot(allEffects(mod))

对于绘图,我allEffects通过访问来缩减 -object 中的预测变量

allEffects(mod)[["scaled_Minimal_Distance1"]][["x"]][["scaled_Minimal_Distance1"]]并按照此处所示进行操作。我还想对我的回答进行反向转换,以使情节更容易理解。否则,人们必须始终牢记 y 轴上的 1 实际上是 0,2 是 1 等等。有人可以帮助我如何做到这一点,因为我遇到了障碍,我自己似乎无法弄清楚.

非常感谢您提前。

标签: rplot

解决方案


推荐阅读