我正在努力尝试使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图中(可以从屏幕抓图中看到)。
是否可以将这些变量名称更改为更具描述性的名称,其中可能包含空格?
答案 0 :(得分:0)
ctree
函数来自不支持标签的“ party”包。要在这种情况下使用标签,您需要use_labels
函数。有关详细信息,请参见插图-Variables and value labels support。示例:
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)