如何将分类结果转换为水平因子

时间:2017-03-20 21:51:51

标签: r classification type-conversion

我有一个“label.csv”文件,由0和1组成。

y = read.csv("./data/labels.csv", stringsAsFactors = T)

当我cbind y对数据进行分类培训时,会出现以下警告:

Warning message:
In train.default(x, y, weights = w, ...) :
  You are trying to do regression and your outcome only has two possible values Are you trying to do classification? If so, use a 2 level factor as your outcome column.

我想将y转换为水平因子,并将其与特征数据进行分类。

但是,使用as.factor(y)会产生以下错误:

Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?

我是否正确地解决了这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

您的y变量是data.frame。在转换为因子数据类型之前,您需要使用[[将第一列从数据框中分配出来(尽管可能只有一个列)。

# convert y to a factor
y <- as.factor(y[[1]])

然后你应该能够运行你的模型。