我正在努力使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图中(从屏幕截图中可以看到)。
有没有办法将这些变量名更改为更具描述性的名称,其中可能包含空格?
发布于 2019-01-02 07:13:20
ctree函数来自不能识别标签的“party”包。要在这种情况下使用标签,您需要use_labels函数。详情请参阅vignette - 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)

https://stackoverflow.com/questions/53999073
复制相似问题