Konwertuj ciągłe wartości liczbowe na dyskretne kategorie określone interwałami
Mam ramkę danych z ciągłą zmienną numeryczną, wiek w miesiącach (age_mnths). Chcę stworzyć nową zmienną dyskretną, z kategoriami wiekowymi opartymi na przedziałach wiekowych.
# Some example data
rota2 <- data.frame(age_mnth = 1:170)
Stworzyłemifelse
procedura bazowa (poniżej), ale wierzę, że istnieje możliwość bardziej eleganckiego rozwiązania.
rota2$age_gr<-ifelse(rota2$age_mnth < 6, rr2 <- "0-5 mnths",
ifelse(rota2$age_mnth > 5 & rota2$age_mnth < 12, rr2 <- "6-11 mnths",
ifelse(rota2$age_mnth > 11 & rota2$age_mnth < 24, rr2 <- "12-23 mnths",
ifelse(rota2$age_mnth > 23 & rota2$age_mnth < 60, rr2 <- "24-59 mnths",
ifelse(rota2$age_mnth > 59 & rota2$age_mnth < 167, rr2 <- "5-14 yrs",
rr2 <- "adult")))))
Wiem, że jestcut
funkcja, ale nie mogłem sobie z tym poradzić, aby dyskretyzować / kategoryzować.