更改 gbm 部分图上的 x 和 y 标签
Change x and y labels on a gbm partial plot
我在更改 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)
但是,如果我尝试设置标签参数,则会出现以下错误:
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 轴标签?
plot.gbm
函数将自己的名称传递给通用绘图函数,因此两者发生冲突。因此,您将无法在该模式下按照您想要的方式自定义情节。但是当你设置 return.grid=TRUE
时,作者确实提供了一个替代方案。它不会构建绘图,而是会输出数据本身。然后,您可以将其用于任何绘图,包括 ggplot2。
plotdata <- plot(gbm1, return.grid=TRUE)
plot(plotdata, type="l", ylab="ylab", xlab="xlab")
来自帮助的示例数据(gbm)
您还可以在绘图之前(或在函数中)更改 gbm 对象本身:
your_gbm_obj$var.names[index] = "axis label"
我在更改 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)
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 轴标签?
plot.gbm
函数将自己的名称传递给通用绘图函数,因此两者发生冲突。因此,您将无法在该模式下按照您想要的方式自定义情节。但是当你设置 return.grid=TRUE
时,作者确实提供了一个替代方案。它不会构建绘图,而是会输出数据本身。然后,您可以将其用于任何绘图,包括 ggplot2。
plotdata <- plot(gbm1, return.grid=TRUE)
plot(plotdata, type="l", ylab="ylab", xlab="xlab")
来自帮助的示例数据(gbm)
您还可以在绘图之前(或在函数中)更改 gbm 对象本身:
your_gbm_obj$var.names[index] = "axis label"