Як згрупувати за двома стовпцями в ggplot2 (з прикладом)
Ви можете використовувати наступний базовий синтаксис для групування за двома стовпцями під час створення діаграми в ggplot2:
ggplot(df, aes(x=var1, y=var2, color=var3, shape=var4, group=interaction(var3, var4))) + geom_point() + geom_line()
Цей конкретний код створює лінійний графік, де точки згруповані за стовпцями var3 і var4 у кадрі даних.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: групування за двома стовпцями в ggplot2
Припустімо, що ми маємо наступний кадр даних у R, який показує загальний обсяг продажів протягом кількох тижнів у двох різних магазинах, коли проводилися дві різні акції:
#create data frame
df <- data. frame (store=rep(c(' A ', ' B '), each= 8 ),
promo=rep(c(' Promo 1 ', ' Promo 2 '), each= 4 , times= 2 ),
week=rep(c(1:4), times= 4 ),
sales=c(1, 2, 6, 7, 2, 3, 5, 6, 3, 4, 7, 8, 3, 5, 8, 9))
#view data frame
df
store promo week sales
1 A Promo 1 1 1
2 A Promo 1 2 2
3 A Promo 1 3 6
4 A Promo 1 4 7
5 A Promo 2 1 2
6 A Promo 2 2 3
7 A Promo 2 3 5
8 A Promo 2 4 6
9 B Promo 1 1 3
10 B Promo 1 2 4
11 B Promo 1 3 7
12 B Promo 1 4 8
13 B Promo 2 1 3
14 B Promo 2 2 5
15 B Promo 2 3 8
16 B Promo 2 4 9
Ми можемо використати наступний код, щоб створити лінійну діаграму в ggplot2, у якій значення даних згруповано за стовпцями магазину та просування :
library (ggplot2) #create line plot with values grouped by store and promo ggplot(df, aes(x=week, y=sales, color=store, shape=promo, group=interaction(store, promo))) + geom_point(size= 3 ) + geom_line()
Результатом є лінійна діаграма, у якій кожен рядок представляє значення продажів для кожної комбінації магазину та рекламної акції .
Зокрема, чотири рядки представляють вартість продажів для таких комбінацій:
- Акція 1 в магазині А
- Акція 2 в магазині А
- Акція 1 в магазині B
- Акція 1 в магазині B
Дві легенди збоку від графіка вказують, які лінії представляють які комбінації.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в ggplot2:
Як обертати мітки осей у ggplot2
Як встановити розриви осей у ggplot2
Як встановити межі осей у ggplot2
Як змінити мітки легенди в ggplot2