【发布时间】:2014-07-31 07:25:45
【问题描述】:
我需要创建一个新的数据框 nDF,它将所有分类变量二值化,同时将所有其他变量保留在数据框 DF 中。例如,我有以下特征变量:RACE(4 种类型)和 AGE,以及一个名为 CLASS 的输出变量。
DF =
种族年龄(21岁以下)班级 案例 1 西班牙裔 0 A 案例 2 亚洲 1 A 案例 3 西班牙裔 1 D 案例 4 白种人 1 B我想将其转换为带有五 (5) 个变量或四 (4) 个变量的 nDF:
RACE.1 RACE.2 RACE.3 年龄(21 岁以下)等级 案例 1 0 0 0 0 A 案例 2 0 0 1 1 A 案例 3 0 0 0 1 D 案例 4 0 1 0 1 B我熟悉变量 DF$RACE 的处理对比。但是,如果我实施
contrasts(DF$RACE) = contr.treatment(4)
我得到的仍然是三个变量的 DF,但变量 DF$RACE 具有“对比”属性。
我最终想要的是一个新的数据框 nDF,如上图所示,但如果一个数据框有大约 50 个特征变量,其中超过五 (5) 个,评估它可能会非常繁琐是分类变量。
【问题讨论】:
-
如果您愿意使用data.table 包,您可以使用mltools 中的one_hot() 方法。
标签: r categorical-data