knitr::opts_chunk$set(echo = TRUE)
library(dplyr)
## 
## Присоединяю пакет: 'dplyr'
## Следующие объекты скрыты от 'package:stats':
## 
##     filter, lag
## Следующие объекты скрыты от 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)

# 1. Описание данных
# Данные Iris содержат измерения длины (Sepal.Length) и ширины (Sepal.Width) чашелистиков, 
# а также длины (Petal.Length) и ширины (Petal.Width) лепестков для трёх видов ирисов: 
# setosa, versicolor и virginica. 
# В данном анализе будут использованы только столбцы Sepal.Length, Sepal.Width и Species.

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. Преобразование 
# Отбор столбцов Sepal.Length, Sepal.Width, Species
iris_selected <- iris %>%
  select(Sepal.Length, Sepal.Width, Species)

# Вычисление IQR и медиан
iris_summary <- iris_selected %>%
  group_by(Species) %>%
  summarise(
    median_Sepal.Length = median(Sepal.Length),
    IQR_Sepal.Length = IQR(Sepal.Length),
    median_Sepal.Width = median(Sepal.Width),
    IQR_Sepal.Width = IQR(Sepal.Width)
  )

print (iris_summary)
## # A tibble: 3 × 5
##   Species    median_Sepal.Length IQR_Sepal.Length median_Sepal.Width
##   <fct>                    <dbl>            <dbl>              <dbl>
## 1 setosa                     5              0.400                3.4
## 2 versicolor                 5.9            0.7                  2.8
## 3 virginica                  6.5            0.675                3  
## # ℹ 1 more variable: IQR_Sepal.Width <dbl>
# 3. Визуализация
# Гистограмма для Sepal.Length
# Гистограмма для Sepal.Length
ggplot(iris_selected, aes(x = Sepal.Length)) +
  geom_histogram(binwidth = 0.5, fill = "red", color = "black", alpha = 0.5) +
  labs(title = "Распределение Sepal.Length", x = "Длина", y = "Частота") +
  facet_wrap(~Species)

# Гистограмма для Sepal.Width
ggplot(iris_selected, aes(x = Sepal.Width)) +
  geom_histogram(binwidth = 0.5, fill = "red", color = "black", alpha = 0.5) +
  labs(title = "Распределение Sepal.Width", x = "Ширина", y = "Частота") +
  facet_wrap(~Species)

# График зависимости
ggplot(iris_selected, aes(x = Sepal.Width, y = Sepal.Length, color = Species)) +
  geom_point(size = 3) +
  labs(title = "Зависимость длины от ширины чашелистика",
       x = "Ширина чашелистика",
       y = "Длина чашелистика") +
  theme_minimal()