У меня есть столбец со списком возрастов, и я пытаюсь разделить возраст на три отдельных значения: молодой, средний возраст и старший.
Если я делаю вложенный ifelse, как в:
df$age <- ifelse(df$age <= 40, "young",
ifelse((df$age > 40) & (df$age < 65), "middle",
ifelse(df$age >= 65, "senior, "")))
... тогда все значения в столбце заменяются на «молодые» и «средние», без «старших».
Если я заменю значения по отдельности присвоением, как в:
df$age[df$age <= 40] <- "young"
df$age[df$age > 40 & df$age < 65] <- "middle"
df$age[df$age >= 65] <- "senior"
... тогда все значения в столбце заменяются на «старшие».
Похоже, что после того, как целые числа в столбце заменены на первый набор символов, весь столбец изменяется на класс символов. Я не уверен, что это является причиной проблемы, поэтому я попытался поместить as.integer вокруг функций, но результаты те же.
Как это исправить, чтобы все переменные в моем столбце были правильно помечены?