确定如何快速将巨大数据集中的列分类为因子

时间:2016-03-11 05:22:36

标签: r apply r-caret categorical-data data-cleansing

这里没有好的例子,因为我正在使用的数据集非常庞大。

但是,如果我有一个200,300something列数据集,我希望有一些规则来快速分类并将其中一些列转换为因子。有一些快速的R代码可以做到吗?

原因是我没有时间逐列完全理解或解释数据,但如果我看到只有5000行的唯一4个值,我认为这是分类数据。

任何人都有任何快速的代码段或方法来执行此操作吗?

1 个答案:

答案 0 :(得分:2)

假设df引用您的数据框:

## Find all columns with less than 5 unique values
cols <- apply(df, 2, FUN = function(x) length(unique(x))) < 5

## Convert columns with less than 5 unique values to factor
df[cols] <- lapply(df[cols], factor)