2013-10-09 30 views
0

我有以下data.frame:转换一个data.frame成因子

> str(trainLabels) 
'data.frame': 1000 obs. of 1 variable: 
$ V1: int 1 0 0 1 0 1 0 1 1 0 ... 

我希望获得一个因素如下:

> str(trainLabels) 
Factor w/ 2 levels "0","1": 1 0 0 1 0 1 0 1 1 0 ... 

我曾尝试:

trainLabels$V1 <- as.factor(trainLabels$V1) 

但这似乎并不奏效;它确实改变了结构,但它仍然不是我想要的。

+1

试试'factor()'? – TheComeOnMan

回答

1

而是重新分配回data.frame列,

trainLabels <- as.factor(trainLabels$V1) 

注意,在您的要求,原来trainLabelsdata.frame,而最终的输出是一个向量。他们是两个完全不同的对象被分配到相同的名称,后者覆盖前者。

+0

谢谢;有用。 – tucson

+0

使用factor()而不是as.factor()将保留V1列中存在的所有名称。 – rakensi