У меня есть числовой столбец и я пытаюсь использовать функцию case_when
. Я знаю, что ntile()
может разбивать числа на равные группы, например
# data
data = data.frame(id=c(1,1,1,2,2,2,3,3,3,4,4,4), time=seq(1:3), x=seq(from=10, to=120, by=10))
# automatic grouping works
data%>%
mutate(x_group = ntile(x, n=4))
, но я хотел бы указать эти группы вручную:
# manual grouping fails
data %>%
mutate(x_group = case_when(x < 30 ~ 1,
30 <= x < 50 ~ 2,
50 <= x < 70 ~ 3,
70 <= x ~ 4))
Я думаю, проблема может бытьбыть в комбинации условностей?