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


Блочная диаграмма (иногда называемая диаграммой «коробка с усами») — это диаграмма, которая показывает пятизначную сводку набора данных, которая включает следующие значения:

  • Минимум
  • Первый квартиль
  • медиана
  • Третий квартиль
  • Максимум

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

#create one horizontal boxplot
boxplot(df$values, horizontal= TRUE )

#create several horizontal boxplots by group
boxplot(values~group, data=df, horizontal= TRUE )

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

#create one horizontal boxplot
ggplot(df, aes (y=values)) + 
 geom_boxplot() +
 coord_flip()
#create several horizontal boxplots by group
ggplot(df, aes (x=group, y=values)) + 
 geom_boxplot() +
 coord_flip()

В следующих примерах показано, как создавать горизонтальные ящичные диаграммы как в base R, так и в ggplot2.

Пример 1: Горизонтальные диаграммы в Base R

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

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

#create horizontal boxplot for points
boxplot(df$points, horizontal= TRUE , col='steelblue') 

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

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

#create horizontal boxplots grouped by team
boxplot(points~team, data=df, horizontal= TRUE , col='steelblue', las= 2 )

Обратите внимание, что аргумент las=2 указывает R сделать метки оси Y перпендикулярными оси.

Пример 2: Горизонтальные диаграммы в ggplot2

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

library (ggplot2)

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

#create horizontal boxplot for points
ggplot(df, aes (y=points)) + 
 geom_boxplot(fill='steelblue') +
 coord_flip()

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

library (ggplot2)

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

#create horizontal boxplot for points
ggplot(df, aes (x=team, y=points)) + 
 geom_boxplot(fill='steelblue') +
 coord_flip() 

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

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