0

我正在努力尝试从 R 中的“party”包中创建一个 CI 树看起来像样。到目前为止,这就是我所拥有的,就清理树而言。

当前版本的树

我想做的是将每个单独节点上的变量名称更改为更具描述性的名称,而不仅仅是用于编码的缩短变量名称。我尝试使用以下代码自己更改变量名称:

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

因为一些变量名包含空格,所以我必须通过以下方式将它们输入到“ctree”函数中:

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

但这给了我一个错误:错误:尝试使用零长度变量名。因此,我尝试使用 'expss' 包中的 'apply_labels' 函数,但标签实际上并没有应用到 ctree 图中(从屏幕抓取中可以看出)。

有什么方法可以将这些变量名称更改为可能包含空格的更具描述性的名称?

4

1 回答 1

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)

在此处输入图像描述

于 2019-01-01T23:13:19.570 回答