Настройка узлов дерева регрессии

Я построил следующее дерево регрессии с помощью пакета rpart. Мне пришлось переименовать переменные в алфавитном порядке, потому что оригинальные имена были длинными. Теперь, когда я выполнил анализ, я бы хотел, чтобы (соответствующие) 4 разбиения были переименованы в их оригинальные длинные имена. Как получить доступ к разделенным меткам? Я знаю, что это возможно для пакета rpart.plot, но я хотел бы придерживаться макета сюжета partykit, потому что я хочу, чтобы boxplot находился в узлах.

Любое решение этого?

1 ответ

Я бы порекомендовал не настраивать это потом, а синхронизировать имена переменных. Но для изменения меток, используемых на графиках, вам нужно только изменить 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)

Дерево1

Тогда мы можем просто пометить переменные в $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)

Дерево2

Большинство вещей должно работать совершенно нормально с этим твиком party объект. Тем не менее, имена переменных в formula и data сейчас не синхронизированы. Это может привести к проблемам в некоторых условиях. Но заговор должен быть в порядке.

Другие вопросы по тегам