我正在为具有hotels列的数据集编写一个机器学习代码。hotel列包含300个酒店名称。对于数据预处理,我看到我们必须使用factor。因为有这么多的值,所以有什么简单的方法可以隐蔽它级别?
答案 0 :(得分:1)
很简单,使用as.factor()
函数将列形式character
转换为factor
。
这是一个样本
# Sample data
data
a b
1 A 1
2 B 2
3 C 3
4 A 4
5 B 5
class(data$a)
[1] "character"
# Converting to factor
data$a <- as.factor(data$a)
# Results
class(data$a)
[1] "factor"
summary(data$a)
A B C
2 2 1
答案 1 :(得分:1)
如果您使用read.csv选项将csv数据加载到数据帧中,则默认情况下会将具有字符串值的列加载为因子列。
无论如何,您都可以使用factor()函数将列转换为factor: df $ a <-factor(df $ a)。