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

Determining how to quickly classify columns in huge datasets as factors

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

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

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

有人有任何快速的代码片段或方法可以做到这一点吗?

假设 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)