Как указать разрывы гистограммы в 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 ))
Примечание . Для length.out необходимо использовать длину n+1 , где 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 ))
Обратите внимание, что результатом является гистограмма с семью прямоугольниками, расположенными на равном расстоянии друг от друга.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как создать гистограмму относительной частоты в R
Как построить несколько гистограмм в R