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

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

Author

ФИО студента: Кравец Дмитрий Вячеславович

Published

October 13, 2025

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


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

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

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

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

    intersect, setdiff, setequal, union
library(ggplot2)
library(moments)

# Подключение набора данных
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. Результаты представьте в виде таблицы.
stats <- iris %>% 
select(where(is.numeric)) %>% 
summarise(across(everything(), list(
mean = mean,
median = median,
sd = sd,
IQR = IQR
)))
print(stats)
  Sepal.Length_mean Sepal.Length_median Sepal.Length_sd Sepal.Length_IQR
1          5.843333                 5.8       0.8280661              1.3
  Sepal.Width_mean Sepal.Width_median Sepal.Width_sd Sepal.Width_IQR
1         3.057333                  3      0.4358663             0.5
  Petal.Length_mean Petal.Length_median Petal.Length_sd Petal.Length_IQR
1             3.758                4.35        1.765298              3.5
  Petal.Width_mean Petal.Width_median Petal.Width_sd Petal.Width_IQR
1         1.199333                1.3      0.7622377             1.5

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

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

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

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

Вывод:
virginica больше всех


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

  1. Постройте boxplot для Petal.Length по видам (Species).
  2. Добавьте подписи и цвета.
ggplot(iris, aes(x = Species, y = Petal.Length, fill = Species)) +
geom_boxplot() +
labs(title = "Boxplot длины лепестков по видам", y = "Petal.Length", x = "Вид")


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

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

sl_skew <- skewness(iris$Sepal.Length)
sl_kurt <- kurtosis(iris$Sepal.Length)
cat("Асимметрия (skewness):", sl_skew, "\n")
Асимметрия (skewness): 0.3117531 
cat("Эксцесс (kurtosis):", sl_kurt, "\n")
Эксцесс (kurtosis): 2.426432 

Интерпретация:
(Распределение признака близко к нормальному, есть хвост вправо и более плоское чем нормальное распределение)


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

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