Я делаю несколько графиков на основе данных кластеризации из DAP C. Мне нужно, чтобы цвета были одинаковыми на всех графиках, и я хотел бы использовать определенные c цветов для самых больших групп. Важным моментом в этом вопросе является то, что я получаю набор данных из DAP C, например:
my_df <- data.frame(
ID = c(1:10),
Group = c("a", "b", "b", "c", "a", "b", "a", "b", "b", "c")
)
> my_df
ID Group
1 a
2 b
3 b
4 c
5 a
6 b
7 a
8 b
9 b
10 c
Я знаю, как найти группу с наибольшим количеством участников, например:
freqs <- table(my_df$Group)
freqs <- freqs[order(freqs, decreasing = TRUE)]
>freqs
b a c
5 3 2
Есть ли способ изменить значения в зависимости от их частоты? Каждый раз, когда я повторно запускаю DAP C, он меняет группы, поэтому я хотел бы написать код, который делает это автоматически, вместо того, чтобы переделывать его вручную. Вот как я бы хотел изменить фрейм данных:
> my_df > my_new_df
ID Group ID Group
1 a 1 '2nd'
2 b 2 '1st'
3 b 3 '1st'
4 c 4 '3rd'
5 a 5 '2nd'
6 b 6 '1st'
7 a 7 '2nd'
8 b 8 '1st'
9 b 9 '1st'
10 c 10 '3rd'