如何修改rpart决策树绘图中分支名称的显示格式
解决方案
你之前的代码没有生效,是因为gsub函数默认将.识别为正则通配符,会匹配所有字符,只需要添加fixed = TRUE参数指定匹配字面量的点符号即可,正确代码如下:
test <- list() test$tree <- rpart(Species ~ ., data = iris) par(mfrow = c(1,2)) # 默认效果 rpart.plot(test$tree, type=5, extra=2) # 自定义分支标签效果 rpart.plot(test$tree, type=5, extra=2, split.fun = function(x, labs, digits, varlen, faclen){ labs <- gsub(".", " ", labs, fixed = TRUE) return(labs) })
如果你需要更稳定的全局效果,也可以在拟合模型前直接修改数据集的列名,后续所有调用模型的场景都会自动使用替换后的名称:
# 复制数据集并替换列名中的点为空格 iris_rename <- iris colnames(iris_rename) <- gsub(".", " ", colnames(iris_rename), fixed = TRUE) # 用重命名后的数据集拟合决策树 test$tree <- rpart(Species ~ ., data = iris_rename) # 直接绘图即可显示修改后的变量名 rpart.plot(test$tree, type=5, extra=2)
内容的提问来源于stack exchange,提问作者Beavis
相关产品推荐
相关产品推荐

