Изменение меток переменных на графике 'ctree' - PullRequest
0 голосов
/ 02 января 2019

Я изо всех сил пытаюсь сделать дерево 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 Ответ

0 голосов
/ 02 января 2019

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)

enter image description here

...