d3r предоставляет функцию d3_party
для преобразования rpart/partykit
в иерархию d3. sunburst
может использовать результат d3_party
с одной незначительной модификацией, чтобы изменить "rule"
на "name"
. Это не идеально, но в большинстве случаев будет работать безупречно.
library(rpart)
library(d3r)
# d3_party requires partykit
# install.packages("partykit")
library(sunburstR)
rp <- rpart(Species~.,data=iris)
rp_d3 <- d3_party(rp)
# one trick/hack required since sunburst expects
# name but d3_party gives rule
# this is ugly but let's replace all "rule" with "name"
# with gsub
rp_d3 <- gsub(
x = rp_d3,
pattern = '"rule":',
replacement = '"name":'
)
sunburst(
rp_d3,
valueField = "n",
sumNodes = FALSE,
count = TRUE,
legend = FALSE
)