ctree (partykit): как отобразить горизонтальную прямоугольную схему в конечных узлах для многомерного ответа

#r #party

Вопрос:

Я пытаюсь построить дерево регрессии, сгенерированное с помощью функции «ctree», используя пакет partykit. Давайте предположим, что используемая формула y1 y2 ~ x1 x2 x3 … xp. Чего я хотел бы достичь, так это дерева с горизонтальными прямоугольными диаграммами в терминальных узлах. Я должен быть в неоплатном долгу перед всеми, кто подскажет мне, как достичь этой цели.

Комментарии:

1. Можете ли вы опубликовать код, который вы пробовали, и примеры данных? Пожалуйста, отредактируйте вопрос с помощью кода, который вы запустили, и выходных dput(df) данных . Или, если он слишком велик с выходом dput(head(df, 20)) . (Примечание: df является заполнителем для имени вашего набора данных.)

2. Я бы предположил, что это подходящий пример: library("partykit"); ct <- ctree(Petal.Length Petal.Width ~ Species, data = iris); plot(ct) . Создание горизонтальных боковых диаграмм напрямую не поддерживается пакетом, поскольку это, как правило, было бы не очень полезно. Дисплей, созданный выше, облегчает сравнение Petal.Length поперек Species и Petal.Width поперек Species , что является причиной расколов в дереве. Горизонтальные боковые диаграммы позволят проводить сравнения только между Petal.Length ними и Petal.Width внутри них Species , что не будет представлять интереса.

3. Если вы действительно хотите создать горизонтальные боковые диаграммы, вы также можете написать свою собственную функцию создания панелей (класса grapcon_generator ). Здесь уже есть пара сообщений, в которых показано, как это сделать. Если вы приведете достаточно убедительный конкретный пример, я также мог бы рассмотреть его поближе. Но для типичного случая (см. Комментарий выше) Я не думаю, что горизонтальные диаграммы будут хорошо работать.