Как сортировать столбцы на гистограмме ggplot2


По умолчанию ggplot2 располагает столбцы на гистограмме в следующем порядке:

  • Факторные переменные классифицируются по уровням факторов.
  • Символьные переменные перечислены в алфавитном порядке.

Однако зачастую вам может быть интересно расположить слитки в другом конкретном порядке.

В этом руководстве объясняется, как это сделать, используя следующий фрейм данных:

 #create data frame
df <- data. frame (team = c('B', 'B', 'B', 'A', 'A', 'C'),
                 points = c(12, 28, 19, 22, 32, 45),
                 rebounds = c(5, 7, 7, 12, 11, 4))

#view structure of data frame
str(df)

'data.frame': 6 obs. of 3 variables:
 $ team: Factor w/ 3 levels "A","B","C": 2 2 2 1 1 3
 $ points: num 12 28 19 22 32 45
 $rebounds: num 5 7 7 12 11 4

Пример 1. Упорядочение столбцов на основе определенного порядка факторов.

Если мы попытаемся создать гистограмму для отображения частоты по командам, столбцы автоматически появятся в алфавитном порядке:

 library (ggplot2)

ggplot(df, aes(x=team)) +
  geom_bar ()

Следующий код показывает, как сортировать столбцы в определенном порядке:

 #specify factor level order
df$team = factor(df$team, levels = c('C', 'A', 'B'))

#create bar chart again 
ggplot(df, aes(x=team)) +
  geom_bar ()

Пример 2: Бары ордеров на основе числового значения

Мы также можем сортировать столбцы по числовым значениям. Например, следующий код показывает, как упорядочить бары от самой высокой до самой низкой частоты с помощью функции reorder() :

 library (ggplot2)

ggplot(df, aes(x= reorder (team, team, function (x)-length(x)))) +
  geom_bar () 

Бары ордеров на гистограмме ggplot2

Мы также можем отсортировать столбцы от наименьшей до наибольшей частоты, удалив знак минус в вызове function() в функции reorder() :

 library (ggplot2)

ggplot(df, aes(x= reorder (team, team, function (x) length(x)))) +
  geom_bar () 

Упорядочите столбцы от меньшего к большему на гистограмме ggplot2

Дополнительные ресурсы

Документация для функции geom_bar() .
Документация для функции reorder() .
Полный список руководств по R по статистике.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *