Гістограма & Гістограма в R (з прикладом)

Зміст:

Anonim

Гістограма є чудовим способом відображення категоріальних змінних по осі х. Цей тип графіків позначає два аспекти на осі y.

  1. Перший підраховує кількість випадків між групами.
  2. Другий показує зведену статистику (хв, макс, середнє і так далі) змінної на осі y.

Ви будете використовувати набір даних mtcars із такими змінними:

  • cyl: номер циліндра в машині. Числова змінна
  • am: Тип передачі. 0 для автоматичного та 1 для ручного. Числова змінна
  • mpg: миль на галон. Числова змінна

У цьому підручнику ви дізнаєтесь

  • Як створити гістограму
  • Змініть колір брусків
  • Змініть інтенсивність
  • Колір за групами
  • Додайте групу в барах
  • Гістограма у відсотках
  • Поруч з бічними гратами
  • Гістограма

Як створити гістограму

Щоб створити графік у R, ви можете використовувати бібліотеку ggplot, яка створює готові до публікації графіки. Основним синтаксисом цієї бібліотеки є:

ggplot(data, mapping = aes()) +geometric objectarguments:data: dataset used to plot the graphmapping: Control the x and y-axisgeometric object: The type of plot you want to show. The most common objects are:- Point: `geom_point()`- Bar: `geom_bar()`- Line: `geom_line()`- Histogram: `geom_histogram()`

У цьому посібнику вас цікавить геометричний об’єкт geom_bar (), який створює гістограму.

Гістограма: кол

Ваш перший графік показує частоту циліндра з geom_bar (). Наведений нижче код є найпростішим синтаксисом.

library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()

Пояснення коду

  • Ви передаєте набір даних mtcars ggplot.
  • Усередині аргументу aes () ви додаєте вісь x як факторну змінну (cyl)
  • Знак + означає, що ви хочете, щоб R продовжував читати код. Це робить код більш читабельним, розбиваючи його.
  • Використовуйте geom_bar () для геометричного об'єкта.

Вихід:

Примітка : обов’язково перетворіть змінні у коефіцієнт, інакше R обробляє змінні як числові. Дивіться приклад нижче.

Налаштуйте графік

Для налаштування графіка можна передати чотири аргументи:

- `stat`: Control the type of formatting. By default, `bin` to plot a count in the y-axis. For continuous value, pass `stat = "identity"`- `alpha`: Control density of the color- `fill`: Change the color of the bar- `size`: Control the size the bar

Змініть колір брусків

Ви можете змінити колір брусків. Зауважте, що кольори смужок однакові.

# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()

Пояснення коду

  • Кольори смуг контролюються відображенням aes () всередині геометричного об'єкта (тобто не в ggplot ()). Ви можете змінити колір за допомогою аргументів заливки. Тут ви вибираєте кораловий колір.

Вихід:

Ви можете використовувати цей код:

grDevices::colors() 

щоб побачити всі кольори, доступні в R. Існує близько 650 кольорів.

Змініть інтенсивність

Ви можете збільшити або зменшити інтенсивність кольору смужок

# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()

Пояснення коду

  • Щоб збільшити / зменшити інтенсивність смуги, ви можете змінити значення альфа. Великий альфа збільшує інтенсивність, а низький альфа зменшує інтенсивність. альфа коливається від 0 до 1. Якщо 1, то колір такий самий, як і палітра. Якщо 0, колір білий. Ви вибираєте альфа = 0,1.

Вихід:

Колір за групами

Ви можете змінити кольори смужок, тобто для кожної групи один колір. Наприклад, циліндрична змінна має три рівні, тоді ви можете побудувати гістограму з трьома кольорами.

# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()

Пояснення коду

  • Аргумент заливки всередині aes () дозволяє змінювати колір смуги. Ви змінюєте колір, встановлюючи змінну fill = ось x. У вашому прикладі змінна осі х є cyl; заповнення = коефіцієнт (циліндр)

Вихід:

Додайте групу в барах

Ви можете далі розділити вісь y на основі іншого рівня фактора. Наприклад, ви можете підрахувати кількість автоматичної та ручної передач залежно від типу циліндра.

Ви будете діяти наступним чином:

  • Крок 1: Створіть фрейм даних за допомогою набору даних mtcars
  • Крок 2: Позначте змінну am автоматичною для автоматичної коробки передач та man для ручної коробки передач. Перетворіть am і cyl як коефіцієнт, щоб вам не потрібно було використовувати factor () у функції ggplot ().
  • Крок 3: Побудуйте графік гістограми, щоб підрахувати кількість передач за циліндром
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))

У вас є готовий набір даних, ви можете побудувати графік;

# Крок 3

ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()

Пояснення коду

  • Ggpplot () містить дані набору даних та aes ().
  • В aes () ви включаєте змінну вісь x і яку змінну потрібно заповнити стовпчик (тобто am)
  • geom_bar (): Створення гістограми

Вихід:

Зіставлення заповнить панель двома кольорами, по одному для кожного рівня. Змінити групу легко, вибравши інші змінні фактору в наборі даних.

Гістограма у відсотках

Ви можете візуалізувати смужку у відсотках замість кількості необроблених матеріалів.

# Гістограма у відсотках

ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()

Пояснення коду

  • Використовуйте position = "fill" в аргументі geom_bar (), щоб створити графіку із відсотком на осі y.

Вихід:

Поруч з бічними гратами

Легко побудувати гістограму зі змінною групи поруч.

# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()

Пояснення коду

  • position = position_dodge (): Явно розповідає, як розташувати смуги

Вихід:

Гістограма

У другій частині підручника з гістограмою ви можете представити групу змінних зі значеннями на осі y.

Ваша мета - створити графік із середньою милею на галон для кожного типу циліндрів. Щоб намалювати інформативний графік, виконайте такі дії:

  • Крок 1: Створіть нову змінну із середньою милею на галон за циліндром
  • Крок 2: Створіть базову гістограму
  • Крок 3: Змініть орієнтацію
  • Крок 4: Змініть колір
  • Крок 5: Змініть розмір
  • Крок 6: Додайте мітки на графік

Крок 1) Створіть нову змінну

Ви створюєте фрейм даних з назвою data_histogram, який просто повертає середню кількість миль на галон за кількістю циліндрів у машині. Ви викликаєте цю нову змінну mean_mpg і округляєте середнє значення двома десятковими числами.

# Крок 1

data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))

Крок 2) Створіть базову гістограму

Ви можете побудувати гістограму. Він не готовий до спілкування, щоб бути доставленим клієнту, але дає нам інтуїцію щодо тенденції.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")

Пояснення коду

  • Тепер aes () має дві змінні. Змінна "циліндр" відноситься до осі x, а середнє_mpg - осі y.
  • Вам потрібно передати аргумент stat = "identity", щоб вказати змінну на осі y як числове значення. geom_bar використовує stat = "bin" як значення за замовчуванням.

Вихід:

Крок 3) Змініть орієнтацію

Ви змінюєте орієнтацію графіку з вертикальної на горизонтальну.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()

Пояснення коду

  • Ви можете керувати орієнтацією графіку за допомогоюordord_flip ().

Вихід:

Крок 4) Змініть колір

Ви можете диференціювати кольори смуг відповідно до рівня фактора змінної осі х.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()

Пояснення коду

  • Ви можете побудувати графік по групах із відображенням fill = cyl. R автоматично дбає про кольори на основі рівнів циліндричної змінної

Вихід:

Крок 5) Змініть розмір

Щоб графік виглядав красивішим, ви зменшуєте ширину смуги.

graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()

Пояснення коду

  • Аргумент width всередині geom_bar () контролює розмір смуги. Більше значення збільшує ширину.
  • Зверніть увагу, ви зберігаєте графік у графі змінних. Ви робите це, оскільки наступний крок не змінить код графіку змінних. Це покращує читабельність коду.

Вихід:

Крок 6) Додайте мітки до графіка

Останній крок полягає у додаванні значення змінної mean_mpg у мітку.

graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()

Пояснення коду

  • Функція geom_text () корисна для управління естетикою тексту.
    • label =: Додайте мітку всередину смужок
    • mean_mpg: Використовуйте змінну mean_mpg для мітки
  • hjust контролює розташування ярлика. Значення, закриті до 1, відображають мітку у верхній частині панелі, а більші значення підносять мітку до нижньої частини. Якщо орієнтація графіка вертикальна, змініть hjust на vjust.
  • color = "white": зміна кольору тексту. Тут ви використовуєте білий колір.
  • size = 3: Встановіть розмір тексту.

Вихід:

Резюме

Гістограма є корисною, коли вісь х є категоріальною змінною. Вісь y може бути або підрахунком, або зведеною статистикою. У наведеній нижче таблиці викладено, як керувати гістограмою за допомогою ggplot2:

Об’єктивна

код

Рахувати

ggplot(df, eas(x= factor(x1)) + geom_bar()

Граф із різним кольором заливки

ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar()

Рахувати групами, складеними

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())

Рахувати групами, поруч

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar()

Підрахувати за групами, складеними у%

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())

Цінності

ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity")