Среда, 08.04.2026, 10:32Приветствуем вас Гость | RSS
Решение задач в среде R
Главная | Гистогра́мма | Регистрация | Вход
» Меню сайта

» R практикум

» R кодинг

» Rmatem

» Опрос
Сколько вам лет?
Всего ответов: 9

» Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Базовые графические возможности R: настройка гистограмм
 

Гистограмма является важным инструментом статистики, позволяющим наглядно представить распределение значений анализируемой переменной. В системе R для построения гистограмм служит функция hist(). Ее основным аргументом выступает имя анализируемой переменной. В качестве примера создадим нормально распределенную совокупность X из 300 наблюдений со средним значением 25 и стандартным отклонением 9:

set.seed(444)
x = rnorm(n = 300, mean = 25, sd = 9)

Для создания переменной X использована функция rnorm() (от random - случайный, и norm - нормальный). Используя генератор случайных чисел, эта функция формирует нормально распределенные совокупности с заданными размером (n), средним значением (mean) и стандартным отклонением (sd).

Изобразить значения переменной X в виде гистограммы очень просто:

hist(x)

Как видно из приведенного рисунка, функция hist() автоматически выбирает количество столбцов для отображения на графике, а также создает названия осей и заголовок графика. Такого рисунка, получаемого с использованием автоматических настроек, может оказаться вполне достаточно (например, при проведении быстрого разведочного анализа данных). Однако часто требуется его дополнительная доработка. Прежде всего, важно обратить внимание на размер шага, используемого для разбиения данных на классы при построении гистограммы. В приведенном выше примере программа автоматически разбила значения переменной X на классы с шагом 5. Однако такое грубое разбиение может замаскировать истинные свойства анализируемой совокупности. Для более детального изучения этих свойств следует выбрать более дробное деление данных на классы (т.е. использовать меньший шаг). Сделать это позволяет аргумент breaks (разломы) функции hist():

hist(x, breaks = 40)

Как видим, результатом выполнения предыдущей команды стала гистограмма с 24 столбцами, позволяющая более детально проанализировать распределение значений переменной X.

По умолчанию функция hist() отображает по оси ординат частоты встречаемости для каждого класса значений X. Такое поведение функции можно изменить, придав аргументу freq (от frequency - частота) значение FALSE. В этом случае ось ординат будет отражать плотность вероятности каждого класса так, что суммарная площадь под гистограммой составит 1:

hist(x, breaks = 20, freq = FALSE)

При необходимости, столбцы гистограммы можно закрасить желаемым цветом. Для этого следует воспользоваться аргументом col (от color - цвет) - это тот же аргумент, который мы использовали при рассмотрении настроек функции plot()  (см. здесь и здесь):

hist(x, breaks = 20, freq = FALSE, col = "lightblue")

В ряде случаев, в частности при небольшом числе наблюдений, гистограммы могут давать неверное представление о свойствах совокупности - просто из-за небольшого числа редко расположенных столбцов, например:

set.seed(454)
x = rnorm(n = 50, mean = 15, sd = 5)
hist(x, breaks = 20, freq = FALSE, col = "lightblue")

Вместо гистограммы (или в добавок к ней) в таких случаях стоит воспользоваться кривой плотности вероятности. Оценка плотности вероятности выполняется при помощи функции density(), которую можно применить в качестве аргумента функции plot() для графического изображения результата:

plot(density(x))

Гладкость получаемой кривой контролируется при помощи аргумента bw (от bandwidth - полоса пропускания), например:

plot(density(x, bw = 0.8))

Для полноты картины гистограмму можно совместить с кривой плотности вероятности. При этом сначала необходимо построить саму гистограмму, а затем добавить к ней кривую плотности при помощи функции lines():

set.seed(455)
x = rnorm(n = 300, mean = 25, sd = 9)
hist(x, breaks = 20, freq = FALSE, col = "lightblue",
     xlab = "Переменная X",
     ylab = "Плотность вероятности",
     main = "Гистограмма, совмещенная с кривой плотности")
lines(density(x), col = "red", lwd = 2)

Обратите внимание на дополнительные аргументы, использованные вместе с функцией hist():  xlab и ylab - для создания названий осей, и main - для создания заголовка рисунка. Аналогично, в качестве управляющих аргументов функции lines() были применены аргументы col (для установки цвета линии) и lwd (для установки толщины линии). Эти же аргументы мы использовали ранее при построении графиков c помощью функции plot(). Приведенные примеры показывают универсальность этих и целого ряда других аргументов, управляющих поведением plot(), hist() и других графических функций R высокого уровня.

hist(x,freq=FALSE,density=6,angle=45, col="blue") # строим гистограмму относительных частот. Здесь density, angle и col являются графическими параметрами, определяющими плотность и угол наклона штриховки и цвет графика.

Черно-белое оформление гистограммы для печати в научных работах

hist(x, prob = TRUE,freq = FALSE,
     angle = 45, col="grey")
grid(nx = NA, ny = NULL, lty = 2, col = "black", lwd = 1)
hist(x, prob = TRUE,freq = FALSE,add = TRUE,
     angle = 45, col="white")
lines(density(x), col = "black", lwd = 2)

» Вход на сайт

» Поиск

» Работа с файлами

» Вся графика

» Гистогра́мма

» Теория вероятности

» Сравнение групп

» Дисперс анализ

» Блог

» Календарь
«  Апрель 2026  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

» Архив записей


Copyright MyCorp © 2026
uCoz