Як сортувати стовпчики на гістограмі 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.

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *