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

Статистические характеристики данных — шаблон для выполнения

Author

ФИО студента: Капустинский Артём Евгеньевич

Published

November 5, 2025

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


1. Подготовка окружения

# Загрузка библиотек
library(dplyr)

Присоединяю пакет: 'dplyr'
Следующие объекты скрыты от 'package:stats':

    filter, lag
Следующие объекты скрыты от 'package:base':

    intersect, setdiff, setequal, union
library(ggplot2)
library(moments)
Warning: пакет 'moments' был собран под R версии 4.5.2
# Подключение набора данных
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

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

  1. Для каждого из числовых признаков (Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) вычислите:
    • среднее (mean),
    • медиану (median),
    • стандартное отклонение (sd),
    • межквартильный размах (IQR).
  2. Результаты представьте в виде таблицы.
# Ваш код здесь
# Загружаем данные
data(iris)

# Выбираем только числовые колонки
numeric_cols <- iris[, 1:4]

# Вычисляем статистики
stats <- sapply(numeric_cols, function(x) {
  c(
    mean = mean(x),
    median = median(x),
    sd = sd(x),
    IQR = IQR(x)
  )
})

# Транспонируем для удобства
stats <- t(stats)
stats
                 mean median        sd IQR
Sepal.Length 5.843333   5.80 0.8280661 1.3
Sepal.Width  3.057333   3.00 0.4358663 0.5
Petal.Length 3.758000   4.35 1.7652982 3.5
Petal.Width  1.199333   1.30 0.7622377 1.5

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

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

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

# Ваш код здесь
library(dplyr)

iris %>%
  group_by(Species) %>%
  summarise(
    mean_Petal.Length = mean(Petal.Length),
    mean_Petal.Width  = mean(Petal.Width)
  )
# A tibble: 3 × 3
  Species    mean_Petal.Length mean_Petal.Width
  <fct>                  <dbl>            <dbl>
1 setosa                  1.46            0.246
2 versicolor              4.26            1.33 
3 virginica               5.55            2.03 

Вывод:
(кратко сравните значения между видами)

У Iris setosa лепестки самые короткие и узкие.

У Iris versicolor лепестки заметно длиннее и шире.

У Iris virginica — самые крупные лепестки среди всех видов.

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

  1. Постройте boxplot для Petal.Length по видам (Species).
  2. Добавьте подписи и цвета.
# Ваш код здесь
# Используем базовую графику
boxplot(Petal.Length ~ Species,
        data = iris,
        col = c("lightblue", "lightgreen", "lightpink"),
        main = "Распределение длины лепестков по видам",
        xlab = "Вид ириса",
        ylab = "Длина лепестков (Petal.Length)")


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

  1. Для признака Sepal.Length постройте гистограмму.
  2. Вычислите асимметрию и эксцесс (skewness(), kurtosis()).
  3. Интерпретируйте результаты — является ли распределение близким к нормальному?
# Ваш код здесь
# Базовая гистограмма
hist(iris$Sepal.Length,
     main = "Гистограмма длины чашелистиков (Sepal.Length)",
     xlab = "Sepal.Length",
     ylab = "Частота",
     col = "lightgreen",
     border = "white")

# Вычисляем показатели
skewness_value <- skewness(iris$Sepal.Length)
kurtosis_value <- kurtosis(iris$Sepal.Length)

# Выводим результаты
skewness_value
[1] 0.3117531
kurtosis_value
[1] 2.426432

Интерпретация:
(укажите, есть ли перекос и насколько распределение «острое» или «плоское»)

Легкая положительная асимметрия — распределение немного смещено вправо (в сторону больших значений).

Эксцесс Меньше 3 - распределение немного плоское по сравнению с нормальным (менее «острое»).

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

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

7. Дополнительно (по желанию)

  • Рассчитайте все показатели (mean, median, sd, IQR, skewness, kurtosis) для каждой группы Species.
  • Визуализируйте результаты с помощью ggplot2 (например, bar chart по видам).
# Ваш код здесь