Вот два решения: одно base R
, другое основано на dplyr
:
Иллюстративные данные:
set.seed(123)
df <- data.frame(Genre = sample(c("Comedy", "Action", "Suspense", "Biography"), 10, replace = T))
Решение № 1 :
Вы можете присвоить числовые значения категориям Genre
, используя ifelse
:
df$Genre_numerical <- ifelse(df$Genre == "Comedy", 1,
ifelse(df$Genre == "Action", 2,
ifelse(df$Genre == "Suspense", 3, 4)))
Solution # 2 :
library(dplyr)
df$Genre_numerical <- df %>%
mutate(Genre = case_when(Genre == "Comedy" ~ 1,
Genre == "Action" ~ 2,
Genre == "Suspense" ~ 3,
TRUE ~ 4))
Результат:
Результат одинаков в любом случае:
df
Genre Genre_numerical
1 Action 2
2 Biography 4
3 Action 2
4 Biography 4
5 Biography 4
6 Comedy 1
7 Suspense 3
8 Biography 4
9 Suspense 3
10 Action 2