Коли використовувати 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 ")
На осі Х відображаються унікальні значення в колонці команд , а на осі Y – сума значень у колонці очок для кожної команди.
Наприклад:
- Сума очок команди А дорівнює 19.
- Загальна кількість очок команди B становить 27.
- Сума очок для команди С становить 35.
Використовуючи stat=”identity” у функції geom_bar() , ми можемо відобразити суму значень певної змінної в нашому кадрі даних замість підрахунків.
Примітка : щоб stat=”identity” працював правильно, ви повинні вказати як змінну x, так і змінну ay в аргументі aes() .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в ggplot2:
Як налаштувати відстань між смугами в ggplot2
Як видалити NA з графіка в ggplot2
Як змінити кольори стовпців у гістограмі зі накопиченням у ggplot2