Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 确定如何将大型数据集中的列快速分类为因素_R_Apply_R Caret_Categorical Data_Data Cleaning - Fatal编程技术网

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

R 确定如何将大型数据集中的列快速分类为因素,r,apply,r-caret,categorical-data,data-cleaning,R,Apply,R Caret,Categorical Data,Data Cleaning,这里没有好的例子,因为我正在使用的数据集是巨大的 但如果我有一个200300something列数据集,我希望有某种规则来快速分类并将其中一些列转换为因子。是否有一些快速的R代码来做这件事 原因是我没有时间逐列地完全理解或解释数据,但如果我看到5000行中只有4个唯一的值,我假设这是分类数据 任何人都有快速的代码片段或方法来执行此操作吗?假设df指的是您的数据帧: ## Find all columns with less than 5 unique values cols <- appl

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

但如果我有一个200300something列数据集,我希望有某种规则来快速分类并将其中一些列转换为因子。是否有一些快速的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)
##查找唯一值小于5的所有列

cols假设
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)
##查找唯一值小于5的所有列
科尔斯