Коли використовувати stat=”identity” у графіках ggplot2


Існує два поширених способи використання функції geom_bar() у ggplot2 для створення стовпчастих діаграм:

Спосіб 1: Використовуйте geom_bar()

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

За замовчуванням geom_bar() просто підраховує випадки кожного унікального значення для змінної x і використовує стовпчики для відображення кількості.

Спосіб 2: Використовуйте geom_bar(stat=”identity”)

 ggplot(df, aes(x, y)) +
  geom_bar(stat=" identity ")

Якщо ви надаєте аргумент stat=”identity” для geom_bar() , тоді ви наказуєте R обчислити суму змінної y, згруповану за змінною x, і використовувати стовпчики для відображення сум.

Наступні приклади ілюструють різницю між цими двома методами, використовуючи наступний кадр даних у R, який показує очки, набрані баскетболістами з різних команд:

 #create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 4 ),
                 points=c(3, 5, 5, 6, 5, 7, 7, 8, 9, 9, 9, 8))

#view data frame
df

   team points
1 to 3
2 to 5
3 to 5
4 to 6
5 B 5
6 B 7
7 B 7
8 B 8
9 C 9
10 C 9
11 C 9
12 C 8

Приклад 1: Використання geom_bar()

У наступному коді показано, як використовувати функцію geom_bar() для створення гістограми, яка відображає кількість кожного унікального значення в стовпці команди :

 library (ggplot2)

#create bar chart to visualize occurrence of each unique value in team column
ggplot(df, aes(team)) +
  geom_bar()

На осі Х відображаються унікальні значення в стовпці «Команда» , а на осі Y — кількість повторів кожного унікального значення.

Оскільки кожне унікальне значення з’являлося 4 рази, висота кожного стовпчика на графіку дорівнює 4.

Приклад 2: Використання geom_bar(stat=”identity”)

Наступний код показує, як використовувати функцію geom_bar() з аргументом stat=”identity” для створення гістограми, яка відображає суму значень у стовпці точок , згрупованих за командою :

 library (ggplot2)

#create bar chart to visualize sum of points, grouped by team
ggplot(df, aes(team, points)) +
  geom_bar(stat=" identity ")

geom_bar зі stat="identity" у ggplot2

На осі Х відображаються унікальні значення в колонці команд , а на осі Y – сума значень у колонці очок для кожної команди.

Наприклад:

  • Сума очок команди А дорівнює 19.
  • Загальна кількість очок команди B становить 27.
  • Сума очок для команди С становить 35.

Використовуючи stat=”identity” у функції geom_bar() , ми можемо відобразити суму значень певної змінної в нашому кадрі даних замість підрахунків.

Примітка : щоб stat=”identity” працював правильно, ви повинні вказати як змінну x, так і змінну ay в аргументі aes() .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в ggplot2:

Як налаштувати відстань між смугами в ggplot2
Як видалити NA з графіка в ggplot2
Як змінити кольори стовпців у гістограмі зі накопиченням у ggplot2

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

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