Bootstrap

as.matrix报错

在使用xgboost模型之前,需要将数据进行one hot encoding,按照教程输入以下代码:

train_matrix <- sparse.model.matrix(outcome ~ .-1, train)

R语言一直报错:

Error in model.spmatrix(t, data, transpose = transpose, drop.unused.levels = drop.unused.levels,  : 
  fnames == names(mf) are not all TRUE

查了stackoverflow, 报错的基本原因是因为列名中有不兼容的字符。仔细检查发现dataframe的列名确实有空格存在,使用gsub将空格替换成"_":

genustable$Genus <- gsub(" ", "_", genustable$Genus)
成功解决问题!

;