为多个级别创建标签

Creating labels for multiple levels

所以我有一个多层次的数据框,如下所示:

> levels
54 42 30 18 17 19  6  5 NA 78  4

我需要将这些标记为 4 个不同的组

> labels
 "0-1" "1-2" "2-3" "3+" 

我正在尝试使用以下代码,但我需要级别与标签的长度相同。我怎么做?

df$y <- cut(df$x, levels, labels)

可能cut可能有用

cut(levels%/%12+1, breaks=c(-Inf, 1, 2, 3,Inf), labels = c("0-1", "1-2", "2-3", "3+"))
#[1] 3+   3+   2-3  1-2  1-2  1-2  0-1  0-1  <NA> 3+   0-1 
#Levels: 0-1 1-2 2-3 3+

数据

levels <- c(54, 42, 30, 18, 17, 19, 6, 5, NA, 78, 4)