在R中使用onehot库时,我在model.matrix命令中遇到错误

时间:2018-04-11 08:40:42

标签: r one-hot-encoding

对于标签编码,我在R中的库model.matrix中使用onehot 数据集可用here

我已将该文件重命名为train.csv 要编码的要素是Education。它有两个级别GraduateNot Graduate。但是在执行代码时,

library(onehot)

data <- read_csv("train.csv")
set.seed(1234)
datashuffled <- data[sample(1:nrow(data)), ]
datashuffled_Loan_StatusRemoved <- datashuffled %>%
select(-starts_with("Loan_Status"))
features <- datashuffled_Loan_StatusRemoved
sum(is.na(features$Education))
features$Education[features$Education=="Not Graduate"] <- "NotGraduate"
E <- model.matrix(~Education-1,head(features))

我收到错误

  

对比错误&lt; - ( tmp ,value = contr.funs [1 + isOF [nn]]):     对比只适用于2级或更多级别的因素。

1 个答案:

答案 0 :(得分:1)

对不起,这是一个错字。我应该使用model.matrix的完整数据集。修复是替换

E <- model.matrix(~Education-1,head(features))

E <- model.matrix(~Education-1,features)