【问题标题】:Convert one column data.frame into factor将一列 data.frame 转换为因子
【发布时间】:2013-10-09 22:14:04
【问题描述】:

我有以下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)

但这似乎不起作用;它确实改变了结构,但仍然不是我想要的。

【问题讨论】:

    标签: r


    【解决方案1】:

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

    trainLabels <- as.factor(trainLabels$V1)
    

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

    【讨论】:

    • 使用 factor() 而不是 as.factor() 将保留 V1 列中存在的所有名称。
    • factor(),您可以使用levels 参数控制因子水平,这在数据不包含所有所需因子时很有用。
    猜你喜欢
    • 2011-02-20
    • 2012-03-04
    • 2015-02-16
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多