Как указать разрывы гистограммы в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *