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

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

В статистике категориальные данные представляют данные, которые могут иметь имена или метки.

Примеры включают:

  • Статус курения («курящий», «некурящий»)
  • Цвет глаз («голубой», «зеленый», «ореховый»)
  • Уровень образования (например, «средняя школа», «бакалавр», «магистр»)

Три графика, которые обычно используются для визуализации данных этого типа, включают:

  • Гистограммы
  • Мозаичные сюжеты
  • Блочные диаграммы по группам

В следующих примерах показано, как создать каждый из этих графиков в 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') 
Мозаичный сюжет в R

По оси X отображается результат игры, а по оси Y — четыре разные команды.

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

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.