我使用rpart包构建了以下回归树。我不得不将变量重命名为字母顺序,因为原始名称很长。 现在我已经完成了分析,我希望将(相关的)4个分割重新重命名为原始的长名称。 如何访问拆分标签?我知道这对于rpart.plot包是可行的,但我想坚持partykit绘图布局,因为我想在节点中有盒子图。
任何解决方案?
答案 0 :(得分:2)
我建议不要在事后调整,但保持变量名同步。但是,要更改图中使用的标签,您只需更改names(party_object$data)
。
作为一个简单的可重复示例,请考虑iris
数据:
library("rpart")
library("partykit")
data("iris", package = "datasets")
names(iris)
## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
现在我们将数据中的名称更改为缩写:
names(iris) <- c("SL", "SW", "PL", "PW", "S")
然后展开rpart()
树并将其转换为party
:
rp <- rpart(S ~ SL + SW + PL + PW, data = iris)
py <- as.party(rp)
plot(py)
然后我们可以简单地重新标记$data
中的变量(注意顺序已更改,响应首先列出)并再次绘制:
names(py$data)
## [1] "S" "SL" "SW" "PL" "PW"
names(py$data) <- c("species", "sepal_length", "sepal_width", "petal_length", "petal_width")
plot(py)
对于这个经过调整的party
对象,大多数事情都应该完全正常。但是,formula
和data
中的变量名称现在不同步。这可能会导致某些设置出现问题。但绘图应该没问题。