Прежде всего, я бы посчитал частоту имен, используя table()
& top_n()
, чтобы указать 15 лучших (или 10) имен в вашем наборе данных. (Я содержал их в top_15_names
объекте.) После этого я создал столбец name_category
, чтобы показать группы имен, используя mutate()
. Вот как бы я это сделал.
df$name = as.factor(df$name)
top_15 = data.frame(table(df$name)) %>%
arrange(desc(Freq)) %>%
top_n(15)
top_15_names = top_15$Var1
dat = df %>%
mutate(name_category = case_when(
name %in% top_15_names ~ "Top15",
TRUE ~ "Others"
))
Надеюсь, вы найдете это полезным.