В статистике категориальные данные представляют данные, которые могут иметь имена или метки.
Примеры включают:
- Статус курения («курящий», «некурящий»)
- Цвет глаз («голубой», «зеленый», «ореховый»)
- Уровень образования (например, «средняя школа», «бакалавр», «магистр»)
Три графика, которые обычно используются для визуализации данных этого типа, включают:
- Гистограммы
- Мозаичные сюжеты
- Блочные диаграммы по группам
В следующих примерах показано, как создать каждый из этих графиков в R.
Пример 1: гистограммы
В следующем коде показано, как создать гистограмму для визуализации частоты команд в определенном фрейме данных:
library (ggplot2)
#create data frame
df <- data.frame(result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))
#create bar chart of teams
ggplot(df, aes (x=team)) +
geom_bar()

На оси X отображается название каждой команды, а на оси Y — частота появления каждой команды во фрейме данных.
Мы также можем использовать следующий код, чтобы упорядочить столбцы на диаграмме от наибольшего к наименьшему:
#create bar chart of teams, ordered from large to small
ggplot(df, aes (x= reorder (team, team, function (x)- length (x)))) +
geom_bar(fill='steelblue') +
labs(x='Team')

Пример 2: Блочные диаграммы по группам
Сгруппированные диаграммы — полезный способ визуализировать числовую переменную, сгруппированную по категориальной переменной.
Например, в следующем коде показано, как создавать диаграммы, которые показывают распределение набранных очков, сгруппированных по командам:
library (ggplot2)
#create data frame
df <- data.frame(result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))
#create boxplots of points, grouped by team
ggplot(df, aes (x=team, y=points)) +
geom_boxplot(fill='steelblue')

По оси X отображаются команды, а по оси Y — распределение очков, набранных каждой командой.
Пример 3: Мозаика
Мозаичный график — это тип графика, который отображает частоты двух разных категориальных переменных на одном графике.
Например, следующий код показывает, как создать мозаичный график, который показывает частоту категориальных переменных «результат» и «команда» на одном графике:
#create data frame
df <- data.frame(result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'),
team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'),
points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))
#create table of counts
counts <- table(df$result, df$team)
#create mosaic plot
mosaicplot(counts, xlab='Game Result', ylab='Team',
main='Wins by Team', col='steelblue')

По оси X отображается результат игры, а по оси Y — четыре разные команды.
Дополнительные ресурсы
В следующих руководствах объясняется, как создавать другие распространенные графики в R:
Как создать столбчатую диаграмму с накоплением в R
Как создать сгруппированную гистограмму в R
Как создать точечный график с накоплением в R