Классификация числовых значений в R

Я пытаюсь найти более простой способ категоризировать числовые переменные в R. Я использовал логическое подмножество, но определенно кажется, что должен быть способ сделать это с меньшим количеством кода. Вот пример того, что я сделал: попытался присвоить элементам ранг по шкале от 1 до 5 на основе их оценки от 1 до 500.

Создайте фрейм данных с оценками:

set.seed(123)
df <- data.frame(Score = sample(1:500, 6, replace = FALSE),
                 Color = c("Red", "Orange","Yellow","Green","Blue","Purple"))

Создайте подмножество векторов:

sub1 <- df$Score <= 100
sub2 <- df$Score > 100 & df$Score <= 200
sub3 <- df$Score > 200 & df$Score <= 300
sub4 <- df$Score > 300 & df$Score <= 400
sub5 <- df$Score > 400 & df$Score <= 500

Присвойте значения ранга новой переменной Rank, используя вектор подмножества:

df$Rank[sub1] <- 1
df$Rank[sub2] <- 2
df$Rank[sub3] <- 3
df$Rank[sub4] <- 4
df$Rank[sub5] <- 5

Этот код сделал то, что я хочу; и я изо всех сил пытался использовать операторы if, чтобы попытаться это сделать. Есть ли у кого-нибудь предложение для какой-либо другой функции, которая сделала бы это немного чище?


person nickjf6    schedule 09.02.2021    source источник