我想在我的三維依賴圖中添加顏色漸變色,後面是擬合值(例如較高的擬合值較暗的顏色,較低的擬合值較淺的顏色)。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功能,你知道怎麼樣?
謝謝你的時間!