2016-11-08 54 views
3

我無法更改gbm模型的部分圖上的x和y標籤。我需要將它們重新命名爲期刊文章。更改gbm部分圖上的x和y標籤

我在閱讀本並創建情節如下:

library(gbm) 
final<- readRDS(final_gbm_model) 
summary(final, n.trees=final$n.trees) 

以下是總結輸出:

             var rel.inf 
ProbMn50ppb          ProbMn50ppb 11.042750 
ProbDOpt5ppm          ProbDOpt5ppm 7.585275 
Ngw_1975            Ngw_1975 6.314080 
PrecipMinusETin_1971_2000_GWRP PrecipMinusETin_1971_2000_GWRP 4.988598 
N_total            N_total 4.776950 
DTW60YrJurgens         DTW60YrJurgens 4.415016 
CVHM_TextZone         CVHM_TextZone 4.225048 
RiverDist_NEAR         RiverDist_NEAR 4.165035 
LateralPosition        LateralPosition 4.036406 
CAML1990_natural_water     CAML1990_natural_water 3.720303 
PctCoarseMFUpActLayer     PctCoarseMFUpActLayer 3.668184 
BioClim_BIO12         BioClim_BIO12 3.561071 
MFDTWSpr2000Faunt       MFDTWSpr2000Faunt 3.383900 
PBot_krig           PBot_krig 3.362289 
WaterUse2           WaterUse2 3.291040 
AVG_CLAY            AVG_CLAY 3.280454 
Age_yrs            Age_yrs 3.144734 
MFVelSept2000         MFVelSept2000 3.064030 
AVG_SILT            AVG_SILT 2.882709 
ScreenLength          ScreenLength 2.683542 
HydGrp_C            HydGrp_C 2.666106 
AVG_POR            AVG_POR 2.563147 
MFVelFeb2000          MFVelFeb2000 2.505106 
HiWatTabDepMin         HiWatTabDepMin 2.421521 
RechargeAnnualmmWolock     RechargeAnnualmmWolock 2.252706 

如下我可以創建部分依賴情節:

plot(final,"ProbMn50ppb",n.trees=final$n.trees) 

enter image description here 但是,如果我嘗試設置標籤argume nts我收到以下錯誤:

plot(final,"ProbMn50ppb",n.trees=final$n.trees,ylab="LNNO3") 

Error in plot.default(X$X1, X$y, type = "l", xlab = x$var.names[i.var], : 
    formal argument "ylab" matched by multiple actual arguments 

如何更改y和x軸標籤?

+0

謝謝試圖提供您的數據,但我們不允許個人雲鏈接,因爲惡意軟件,並因爲他們隨時間而破壞。此外,作爲一種最佳做法,爲避免文件損壞,我建議您爲RDS文件提供「.RDS」的擴展名。 –

+0

好的,謝謝!有沒有更好的方式來提供這樣的數據? – user29609

+0

通常最好在你的代碼中重新創建你所能做的事,並且在其他任何地方重新創建dput()。這樣它很容易重現,幷包含所有的類/元數據。 –

回答

4

plot.gbm函數將自己的名稱傳遞給通用繪圖函數,以使兩者碰撞。所以你將無法按照你想要的方式在該模式下自定義繪圖。但是,當您設置return.grid=TRUE時,作者確實提供了一種替代方法。它不會構建圖表,而會輸出數據本身。然後,您可以將其用於包含ggplot2的任何情節。從幫助

plotdata <- plot(gbm1, return.grid=TRUE) 
plot(plotdata, type="l", ylab="ylab", xlab="xlab") 

enter image description here

實例數據(GBM)

+0

這比我想到的解決方案要好得多,它會修改源代碼(因爲'plot.gbm'包含默認實驗和'...',這是麻煩來自哪裏)。 –

0

您也可以繪製之前(或功能)改變GBM對象本身:

your_gbm_obj$var.names[index] = "axis label"