RPART - 功能类型

时间:2014-04-24 22:24:17

标签: r tree machine-learning rpart

RPART对连续,序数和分类变量使用不同的拆分程序。有没有办法通知"关于变量类型的RPART?为了说明,我有一个带整数值的序数变量(1,..,5)。现在,我需要将其强制转换为字符,因此RPART不会像连续变量那样将其拆分。

我想避免更改所有变量类型,仅用于RPART。我想以某种方式宣布它。

感谢。

1 个答案:

答案 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正在做出一个不正确的假设。