Я уже посмотрел здесь , где используется функция cut
.Тем не менее, я не смог найти умного решения, учитывая мою ситуацию.
Сначала приведем несколько примеров данных, которые у меня сейчас есть:
df <- data.frame(Category = LETTERS[1:20]
, Nber_within_category = c(rep(1,8), rep(2,3), rep(6,2), rep(10,3), 30, 50, 77, 90)
)
Я хотел бы создать третий столбец, который формирует новую категорию на основе столбца Nber_within_category
.В этом примере, как я могу сделать, например, Category_new
таким, чтобы в каждой категории Nber_within_category
было по крайней мере 5 с ограничением на то, что если Category
уже имеет Nber_within_category >= 5
, то берется исходная категория.
Так, например, это должно выглядеть так:
df <- data.frame(Category = LETTERS[1:20]
, Nber_within_category = c(rep(1,8), rep(2,3), rep(6,2), rep(10,3), 30, 50, 77, 90)
, Category_new = c(rep('a',5), rep('b', 4), rep('c',2), LETTERS[12:20])
)