Я пытаюсь найти более простой способ категоризировать числовые переменные в 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, чтобы попытаться это сделать. Есть ли у кого-нибудь предложение для какой-либо другой функции, которая сделала бы это немного чище?