Я работаю с ctree
, и в моем наборе данных есть ковариата факторов, которые создают узел. Факторов для этого ковариата достаточно, и их имена достаточно длинные, чтобы они перекрывали друг друга в ребрах, созданных в узле. Я хочу найти способ остановить это совпадение.
Я проверил другие вопросы и нашел один ответ , который предоставляет некоторую помощь. Сюжет для ctree
основан на пакете grid
, и я могу использовать функции для написания новых меток по краю. Моя проблема сейчас в том, что я не знаю, как подавить надписи, которые печатаются по умолчанию, когда я plot
дерево. Я не знаю достаточно о grid
или plot.party
, чтобы понять, какой объект нужно подавить.
Пример моей проблемы на следующем рисунке:
Код для моего примера задачи:
libary(partykit)
library(tidyverse) #this is here for the mpg data set in next line. not required for partykit
data(mpg)
irt <- ctree(hwy~as.factor(class),data=mpg)
plot(irt)
Результирующий 1-й узел имеет один край с «2seater, compact, midsize, subcompact», а другой край с «minivan, pickup, suv». То, что я в конечном итоге вижу в сюжете: «2-местный, компактный, средний, субкомпаминированный, пикап, саб» Я уже сделал графическое устройство полноэкранным. (У меня есть другие деревья, у которых есть только один узел, и поэтому они выглядят странно в полноэкранном измерении, поэтому я не хочу переходить туда-сюда.)
Частичное решение, которое у меня есть,
plot(irt, pop=FALSE)
seekViewport("edge1-1")
grid.text("2seater, compact,\n midsize, subcompact")
Это накладывает "2-местный, компактный" поверх "среднего размера, малолитражного" и будет препятствовать их наложению "минивэн, пикап, внедорожник". Но теперь у меня есть оригинальный слишком длинный лейбл, все еще в сюжете. И край, к которому прикреплен ярлык, который я пытаюсь исправить, имеет разрыв в месте, которое не работает с новым сложенным ярлыком. Было бы неплохо исправить этот край, но настоящая проблема заключается в подавлении оригинальной, слишком длинной метки на edge1-1.