在数据框的一列中合并数据(使用 R)

数据挖掘 r 数据集 数据清理 特征工程
2022-02-25 00:00:12

我有一个数据框,其中包含 0-60(包括 0 和 60)之间的随机值。这些值表示月份。我想将数据分为三个类别 (x<=6, 6< x <=12, x>12) 并生成一个新的单列,这将是一个包含 3 个值 (0,1,2) 的因子,分别表示垃圾箱。

我能够生成 3 列单热编码样式,但我想不出一种方法来生成具有 3 个因子的单列。

1个回答

使用cut

> df = data.frame(v=sample(1:60,1000,TRUE))
> df$cat = cut(df$v,c(-Inf,6,12,Inf))
> table(df$cat)

 (-Inf,6]    (6,12] (12, Inf] 
       97        92       811 

此外,最好在 StackOverflow 上提出简单的 R 问题。