Як указати розриви гістограми в r (з прикладами)
За замовчуванням функція hist() у R використовує правило Стерджеса для визначення кількості бінів для використання в гістограмі.
Правило Стерджеса використовує наступну формулу для визначення оптимальної кількості груп для використання в гістограмі:
Оптимальні біни = ⌈log 2 n + 1⌉
золото:
- n: загальна кількість спостережень у наборі даних.
- ⌈ ⌉: символи, що означають «стеля», тобто округлення відповіді до найближчого цілого числа.
Наприклад, якщо в наборі даних є 31 спостереження, правило Стерджа використовуватиме таку формулу для визначення оптимальної кількості груп для використання в гістограмі:
Оптимальна кількість бункерів = ⌈log 2 (31) + 1⌉ = ⌈4,954 + 1⌉ = ⌈5,954⌉ = 6 .
Відповідно до правила Стерджеса, ми повинні використовувати 6 прямокутників на гістограмі для візуалізації цього набору даних.
Якщо ви використовуєте функцію hist() у R, правило Стерджеса буде використано для автоматичного вибору кількості бінів для відображення на гістограмі.
hist(data)
Навіть якщо ви використовуєте аргумент breaks , щоб вказати іншу кількість бункерів для використання, R використовуватиме його лише як «пропозицію» того, скільки бункерів використовувати.
hist(data, breaks= 7 )
Однак ви можете використовувати наступний код, щоб змусити R використовувати певну кількість прямокутників на гістограмі:
#create histogram with 7 bins hist(data, breaks = seq(min(data), max(data), length. out = 8 ))
Примітка : Ви повинні використовувати довжину n+1 для length.out, де n — кількість банів, які вам потрібні.
У наступному прикладі показано, як використовувати цей код на практиці.
Приклад: визначення розривів гістограми в R
Припустимо, ми маємо наступний набір даних у R із 16 значеннями:
#create vector of 16 values
data <- c(2, 3, 3, 3, 4, 4, 5, 6, 8, 10, 12, 14, 15, 18, 20, 21)
Якщо ми використовуємо функцію hist() , R створить таку гістограму з 5 бінами:
#create histogram
hist(data)
Примітка : R використав правило Стерджеса, щоб визначити, що 5 груп є оптимальною кількістю груп для візуалізації набору даних із 16 спостереженнями.
Якщо ми спробуємо використати аргумент breaks , щоб вказати 7 груп для використання на гістограмі, R сприйме це лише як «пропозицію» та вибере замість цього використання 10 груп:
#attempt to create histogram with 7 bins
hist(data, breaks= 7 )
Однак ми можемо використати наступний код, щоб змусити R використовувати 7 бінів у гістограмі:
#create histogram with 7 bins
hist(data, breaks = seq(min(data), max(data), length. out = 8 ))
Зауважте, що результатом є гістограма з 7 рівновіддаленими квадратами.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в R:
Як створити гістограму відносної частоти в R
Як побудувати декілька гістограм у R