Изменение меток переменных на графике 'ctree'

Я пытаюсь сделать так, чтобы дерево CI из пакета 'party' в R выглядело презентабельно. Пока что это то, что у меня есть, с точки зрения очистки дерева.

текущая версия дерева

Я хотел бы изменить имена переменных на каждом отдельном узле на что-то более описательное, а не только сокращенные имена переменных, используемые для кодирования. Я попытался изменить сами имена переменных, используя следующий код:

colnames(dat.long.imp.m)[colnames(dat.long.imp.m)=="Gender"] <- "sex"

Поскольку некоторые имена переменных содержали пробелы, мне пришлось ввести их в функцию 'ctree' следующим образом:

ctree(formula = DV ~ "`Executive Copartisan`" 

Но это дало мне ошибку: Ошибка: попытка использовать имя переменной нулевой длины. Поэтому вместо этого я попытался использовать функцию apply_labels из пакета expss, но на самом деле метки не были применены в графике ctree (как видно из снимка экрана).

Есть ли способ изменить имена этих переменных на что-то более описательное, которое может включать пробелы?

1 ответ

ctree функция из пакета 'party', не поддерживающего метки. Чтобы использовать этикетки в таких случаях вам нужно use_labels функция. Смотрите виньетка для деталей - Поддержка переменных и меток значений. Пример:

library(expss)
library(party)
data(mtcars)
mtcars = apply_labels(mtcars,
                      mpg = "Miles/(US) gallon",
                      cyl = "Number of cylinders",
                      disp = "Displacement (cu.in.)",
                      hp = "Gross horsepower",
                      drat = "Rear axle ratio",
                      wt = "Weight (1000 lbs)",
                      qsec = "1/4 mile time",
                      vs = "Engine",
                      am = "Transmission",
                      gear = "Number of forward gears",
                      carb = "Number of carburetors"
)

res = use_labels(mtcars, 
           ctree(hp ~ cyl + carb, # or hp ~ .
                 controls = ctree_control(minsplit = 1),
                 data = ..data) # ..data is placeholder for 'mtcars' dataset
           )

plot(res)

https://stackru.com/images/6beea7e19173479e f89af38fe f7519e7992cf18b.png

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