Как создавать параллельные диаграммы в R (с примерами)


Можно использовать параллельные диаграммы, чтобы быстро визуализировать сходства и различия между различными распределениями.

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

#create data frame
df <- data.frame(team=rep(c('A', 'B', 'C'), each= 8 ),
 points=c(5, 5, 6, 6, 8, 9, 13, 15,
 11, 11, 12, 14, 15, 19, 22, 24,
 19, 23, 23, 23, 24, 26, 29, 33))

#view first 10 rows
head(df, 10)

 team points
1 A 5
2 A 5
3 A 6
4 A 6
5 A 8
6 A 9
7 A 13
8 A 15
9 B 11
10 B 11

Параллельные диаграммы в Base R

В следующем коде показано, как создавать параллельные диаграммы в базе R:

#create vertical side-by-side boxplots
boxplot(df$points ~ df$team,
 col='steelblue',
 main='Points by Team',
 xlab='Team',
 ylab='Points')

Мы можем использовать аргумент horizontal=TRUE , чтобы отображать диаграммы по горизонтали, а не по вертикали:

#create horizontal side-by-side boxplots
boxplot(df$points ~ df$team,
 col='steelblue',
 main='Points by Team',
 xlab='Points',
 ylab='Team',
 horizontal= TRUE ) 

Параллельные диаграммы в ggplot2

В следующем коде показано, как создавать вертикальные параллельные диаграммы в ggplot2:

library (ggplot2)

#create vertical side-by-side boxplots
ggplot(df, aes(x=team, y=points, fill=team)) +
 geom_boxplot() +
 ggtitle('Points by Team') 

И мы можем использовать аргумент coord_flip() для отображения коробчатых диаграмм горизонтально, а не вертикально:

library (ggplot2)

#create horizontal side-by-side boxplots
ggplot(df, aes(x=team, y=points, fill=team)) +
 geom_boxplot() +
 coord_flip() +
 ggtitle('Points by Team') 

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

Как создать ленточную диаграмму в R
Как построить несколько линий в R
Как создать пирамиду населения в R