RPART对连续,序数和分类变量使用不同的拆分程序。有没有办法通知"关于变量类型的RPART?为了说明,我有一个带整数值的序数变量(1,..,5)。现在,我需要将其强制转换为字符,因此RPART不会像连续变量那样将其拆分。
我想避免更改所有变量类型,仅用于RPART。我想以某种方式宣布它。
感谢。
答案 0 :(得分:2)
问题是R如何知道foo <- c(1,2,3,2,4,5,1,5)
(例如)不是数字变量?如果您查看foo
类,您会看到它是数字。
R> class(foo)
[1] "numeric"
您遇到的问题是,在非常基本的层面上,您没有告诉R数据类型是什么。在这种情况下,简单的解决方案是 not 将其转换为字符向量,但要将其转换为有序因子。如果只是因为这是数据的事实! rpart 应该选择因素方面并相应地对待它。
因此,告知 rpart 变量是序数的方法是告诉R它是序数
foo <- as.ordered(foo)
R> foo
[1] 1 2 3 2 4 5 1 5
Levels: 1 < 2 < 3 < 4 < 5
我怀疑你错过了R的其他功能,因为你没有告诉它数据的性质。 R正在做出一个不正确的假设。