Лабораторная работа №7 (R)

Статистические характеристики данных

Author

ФИО студента: ____________________

Published

October 13, 2025

Цель работы: изучить основные статистические характеристики данных и освоить методы их расчёта и интерпретации в R.


1. Теоретическая часть

В статистике существует несколько основных групп показателей, описывающих поведение данных:

  1. Меры центральной тенденции (средние):
    • Среднее значение (mean)
    • Медиана (median)
    • Мода (наиболее часто встречающееся значение)
  2. Меры разброса:
    • Размах (range, max - min)
    • Дисперсия (var)
    • Стандартное отклонение (sd)
    • Межквартильный размах (IQR)
  3. Форма распределения:
    • Асимметрия (skewness)
    • Эксцесс (kurtosis)

1.1. Пример расчётов на наборе данных mtcars

# Загрузка данных
data("mtcars")
head(mtcars, 5)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2

Средние значения

mean(mtcars$mpg)       # Средний расход топлива
[1] 20.09062
median(mtcars$mpg)     # Медиана
[1] 19.2

Мода (в R нет встроенной функции)

get_mode <- function(x) {
  uniq <- unique(x)
  uniq[which.max(tabulate(match(x, uniq)))]
}

get_mode(mtcars$cyl)
[1] 8

Меры разброса

range(mtcars$mpg)          # Мин. и макс.
[1] 10.4 33.9
diff(range(mtcars$mpg))    # Размах
[1] 23.5
var(mtcars$mpg)            # Дисперсия
[1] 36.3241
sd(mtcars$mpg)             # Стандартное отклонение
[1] 6.026948
IQR(mtcars$mpg)            # Межквартильный размах
[1] 7.375

Визуализация boxplot

boxplot(mtcars$mpg,
        main = "Boxplot расхода топлива (mpg)",
        col = "lightblue")

Асимметрия и эксцесс

library(moments)
skewness(mtcars$mpg)    # Асимметрия
[1] 0.6404399
kurtosis(mtcars$mpg)    # Эксцесс
[1] 2.799467

Визуализация распределения

hist(mtcars$mpg,
     breaks = 10,
     main = "Гистограмма расхода топлива",
     xlab = "MPG",
     col = "lightgreen",
     border = "white")
abline(v = mean(mtcars$mpg), col = "red", lwd = 2, lty = 2)
abline(v = median(mtcars$mpg), col = "blue", lwd = 2, lty = 3)
legend("topright", legend = c("Среднее", "Медиана"),
       col = c("red", "blue"), lty = c(2, 3), bty = "n")

Показатель Смысл Устойчивость к выбросам
Среднее “Центр массы” данных
Медиана Центральное значение
Мода Часто встречающееся значение
Дисперсия / SD Измеряет разброс данных
IQR Показывает ширину «ящика»

2. Практическая часть (задания)

Выполните задания с использованием встроенного набора данных iris.

data("iris")
head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

Задание A. Базовые статистики

  1. Для каждого из числовых признаков (Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) вычислите:
    • среднее (mean),
    • медиану (median),
    • стандартное отклонение (sd),
    • межквартильный размах (IQR).
  2. Представьте результаты в виде таблицы (например, с помощью sapply() или dplyr::summarise()).

Задание B. Анализ по группам

  1. Для каждого вида (Species) вычислите среднюю длину и ширину лепестков (Petal.Length, Petal.Width).

  2. Сравните значения между тремя группами и сделайте краткий вывод.

Задание C. Визуализация

  1. Постройте boxplot для Petal.Length по видам (Species).

Задание D. Распределение и форма

  1. Для признака Sepal.Length постройте гистограмму и вычислите асимметрию и эксцесс.

Контрольные вопросы

  1. Чем отличается среднее от медианы по устойчивости к выбросам?
  2. Что показывает стандартное отклонение?
  3. Как вычисляется межквартильный размах и что он отражает?
  4. Что значит положительная асимметрия?
  5. Как интерпретировать эксцесс меньше 3?

3. Шаблон для самостоятельного заполнения

Ниже приведён шаблон для самостоятельной работы. Заполните пропуски своими вычислениями и визуализациями.

# --- Подготовка --- 
library(dplyr) 
library(ggplot2) 
library(moments) 
data("iris")
# --- A. Базовые статистики ---

# TODO: вычислите mean, median, sd, IQR для каждого числового признака

# --- B. Анализ по видам ---

# TODO: сгруппировать по Species и рассчитать средние значения

# --- C. Boxplot ---

# TODO: визуализировать длину лепестков по видам

# --- D. Распределение ---

# TODO: построить гистограмму и вычислить skewness / kurtosis