Что вызывает это сообщение об ошибке при использовании пакета party для сюжета дерева решений? - PullRequest
0 голосов
/ 27 августа 2018

Я планирую decision tree, используя пакет party.При запуске функции plot(tree) она отображает decision tree.Однако я хочу изменить размер шрифта node labels и использую следующие коды:

tree<-ctree(Attrition~MaritalStatus+Age_group,data=traindf1)
plot(tree)
text(tree, cex = 0.5)

При запуске последней строки кода я получаю следующее сообщение об ошибке:

Error in as.double(y) : 
   cannot coerce type 'S4' to vector of type 'double'

Я посмотрел этот пост, но, похоже, он относится к другому пакету: Ошибка в as.double (y): невозможно привести тип 'S4' к вектору типа 'double'

Как я могу это исправить?

1 Ответ

0 голосов
/ 27 августа 2018

Обратите внимание, что вы, вероятно, должны использовать partykit вместо party, так как первый предлагает большую гибкость в настройке графических аспектов деревьев.Также имейте в виду, что party и partykit не должны использоваться вместе, поскольку ctree объекты различаются в partykit и party.

Ни partykit::ctree, ни party::ctree не имеютtext метод для добавления / изменения текстовых меток.Возможно, вы столкнулись с синтаксисом plot + text, когда читали о rpart, который представляет собой совершенно другой пакет R для рекурсивного разбиения / классификации с деревьями решений.

Здесь приведен рядом пример обоихметоды

partykit::ctree

library(partykit)
fit <- ctree(Ozone ~ ., data = airquality[complete.cases(airquality), ])

enter image description here

Размер шрифта можно изменить с помощью параметра функции gp, например

plot(fit, gp = gpar(fontsize = 4))

enter image description here

rpart::rpart

library(rpart)
fit <- rpart(Ozone ~ ., data = airquality[complete.cases(airquality), ])
plot(fit)
text(fit)

Здесь вы можете изменить размер шрифта с помощью параметра cex в text.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...