我目前正在探索 dismo 包中的 gbm 函数,以创建用于物种分布建模的增强回归树。我一直在使用 dismo vignettes 以及 Elith 等人发表在《动物生态学杂志》上的 2008 年论文“增强回归树的工作指南”。在 Elith 等人的第 808:809 页上。文章中,作者解释了部分依赖图,并在第 809 页底部给出了示例(图 6)。根据 dismo 小插图“用于生态建模的 Boosted Regression Trees”,gbm.plot “绘制响应对一个或多个预测变量的部分依赖性”。
Gbm.plot 创建的图看起来几乎与 Elith 等人中的示例完全相同。但是,有一些参数我无法弄清楚如何设置以实现与论文中完全相同的图。
论文中的 y 轴在 logit 尺度上并且居中以在数据分布上具有零均值。gbm.plot 中的 y 轴表示拟合函数。
论文中的地毯在图的顶部,gbm.step 地毯在底部。
Gbm.plot 使用变量名称作为 x 轴标签。论文有有意义的轴标签。
这是 Elith 论文中的图与使用 gbm.plot 生成的图的比较
图 6 来自 Elith 等人,2009 年
来自 gbm.plot
我的解决方案
在寻找解决方案时,我遇到了这个问题,它给了我查看源代码的想法(对我来说是第一次)。从源头上,我能够很好地了解该功能是如何组合在一起的,但仍有很多我不明白的地方。
我不确定要更改什么以将 y 轴转换为 logit 比例并将它们居中以使均值为零。
我能够更改源以将地毯移动到地块的顶部。我找到了 rug 函数的命令并添加了
side=3
.对于变量名,我想我需要列出适当的变量名,将其附加到数据中,并以某种方式将其读入源代码。还在我头上。
我将感谢您的任何意见。我还认为,如果其他生态学家使用 Elith 论文来指导他们,他们可能会遇到同样的问题。
这是我为生成绘图而运行的代码示例
gbm.plot(all.sum.tc4.lr001,
rug=TRUE,
smooth=TRUE,
n.plots=9,
common.scale=TRUE,
write.title = FALSE,
show.contrib=TRUE,
plot.layout=c(2,3),
cex.lab=1.5)