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()
