我想在我的三维依赖图中添加颜色渐变色,后面是拟合值(例如较高的拟合值较暗的颜色,较低的拟合值较浅的颜色)。BRT:使用gbm.perspec为交互图添加渐变颜色
我已经使用在dismo套餐赠送的例子:
library(dismo)
data(Anguilla_train)
angaus.tc5.lr01 <- gbm.step(data=Anguilla_train, gbm.x = 3:13, gbm.y = 2,
family = "bernoulli", tree.complexity = 5, learning.rate = 0.01,
bag.fraction = 0.5)
# Find interactions in the gbm model:
find.int <- gbm.interactions(angaus.tc5.lr01)
find.int$interactions
find.int$rank.list
我只设法添加相同颜色的整个情节:
gbm.perspec(angaus.tc5.lr01, 7, 1,
x.label = "USRainDays",
y.label = "SegSumT",
z.label = "Fitted values",
z.range=c(0,0.435),
col="blue")
,或者添加渐变色但不符合拟合值:
gbm.perspec(angaus.tc5.lr01, 7, 1,
x.label = "USRainDays",
y.label = "SegSumT",
z.label = "Fitted values",
col=heat.colors(50),
z.range=c(0,0.435))
我还检查功能gbm.perspec的代码,如果我正确理解的拟合值是式为“预测”内部呼叫,后来就是“pred.matrix”的一部分这是传递给最终的绘图:persp(x = x.var,y = y.var,z = pred.matrix ...),但我没有设法从gbm.perspec公式访问它们。我尝试通过在函数内部的persp()中添加“col = heat.colors(100)[round(pred.matrix * 100,0)]”来修改gbm.perpec函数,但它不会执行我的操作寻找:
persp(x = x.var, y = y.var, z = pred.matrix, zlim = z.range,
xlab = x.label, ylab = y.label, zlab = z.label,
theta = theta, phi = phi, r = sqrt(10), d = 3,
ticktype = ticktype,
col=heat.colors(100)[round(pred.matrix*100, 0)],
mgp = c(4, 1, 0), ...)
相信该解决方案可能来自修改gbm.perpec功能,你知道怎么样?
谢谢你的时间!