Заказ таблицы, созданной из факторной переменной в r - PullRequest
0 голосов
/ 29 мая 2020

Хорошо, у меня есть фрейм данных df с одним столбцом: имя исполнителя.

        artist_name
1       Linkin Park
2         Lady Gaga
3        Pink Floyd
4       Linkin Park
5         Lady Gaga
6         Lady Gaga

Имя исполнителя - это факторная переменная, и чтобы узнать, сколько раз каждый исполнитель появляется в этом фрейме данных , Я бы сказал:

table (df $ artist_name)

Единственная проблема в том, что в моем проекте у меня 17000 строк (и тысячи художников), и я хочу только видеть артисты с наибольшим количеством появлений в таблице. Поскольку существует так много разных художников, я не могу найти наиболее частые имена художников. Я знаю, что если у меня есть фрейм данных, я могу использовать функцию order (), но есть ли способ отсортировать таблицу? Большое спасибо

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Мы можем использовать count в dplyr

library(dplyr)
df %>% count(artist_name, sort = TRUE) %>% slice(1:10)

Или используя top_n:

df %>% count(artist_name) %>% top_n(10, n)

Это вернет 10 лучших художников, замените 10 любым числом, которое вы хотеть.

0 голосов
/ 29 мая 2020

Мы можем sort вывод table в порядке убывания, извлечь names первого элемента

names(sort(table(df$artist_name), decreasing = TRUE)[1])

Если нам нужно больше одного, просто измените число в индексе на диапазон

names(sort(table(df$artist_name), decreasing = TRUE)[1:5])  

ПРИМЕЧАНИЕ: пакеты не требуются

...