Изменение уровня в R

У меня есть поле, где уровни разбиты, как показано ниже:

levels(demo$age)
"18 to 24 years old"    "25 to 34 years old"    "35 to 44 years old"    "45 to 54 years old"    "55 to 64 years old"    "65 to 74 years old"    "75 years old or older"

Как я могу изменить уровни на

 "Total " "18 to 24 years old" "25 plus".

1 ответ

Мы создаем vector из levels это должно быть изменено

v1 <- c("25 to 34 years old", "35 to 44 years old", "45 to 54 years old", 
  "55 to 64 years old",   "65 to 74 years old" ,  "75 years old or older")

затем назначьте их на новый уровень

levels(demo$age)[levels(demo$age) %in% v1] <- "25 plus"

Если нам нужен также уровень "Всего"

levels(demo$age) <- c("Total", levels(demo$age))
levels(demo$age)
#[1] "Total"              "18 to 24 years old" "25 plus" 

данные

set.seed(24)
demo <- data.frame(age = sample(c("18 to 24 years old", v1), 100, replace = TRUE))
Другие вопросы по тегам