library(tidyverse)
## Warning: пакет 'tidyverse' был собран под R версии 4.5.2
## Warning: пакет 'ggplot2' был собран под R версии 4.5.1
## Warning: пакет 'tibble' был собран под R версии 4.5.1
## Warning: пакет 'tidyr' был собран под R версии 4.5.1
## Warning: пакет 'readr' был собран под R версии 4.5.2
## Warning: пакет 'purrr' был собран под R версии 4.5.1
## Warning: пакет 'dplyr' был собран под R версии 4.5.1
## Warning: пакет 'forcats' был собран под R версии 4.5.2
## Warning: пакет 'lubridate' был собран под R версии 4.5.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.6
## ✔ forcats 1.0.1 ✔ stringr 1.5.2
## ✔ ggplot2 3.5.2 ✔ tibble 3.3.0
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(palmerpenguins)
## Warning: пакет 'palmerpenguins' был собран под R версии 4.5.2
##
## Присоединяю пакет: 'palmerpenguins'
##
## Следующие объекты скрыты от 'package:datasets':
##
## penguins, penguins_raw
library(ggthemes)
## Warning: пакет 'ggthemes' был собран под R версии 4.5.2
penguins |>
drop_na() |>
ggplot(mapping = aes(x = bill_length_mm, y = bill_depth_mm))+
geom_point(mapping = aes(color = species,
shape = species)) +
labs( title = "Глубина и длина клюва",
subtitle = "Биометрические измерения для видов Адели, Чинстрап и Генту",
x = "Длина клюва (мм)",
y = "Глубина клюва (мм)",
color = "Виды",
shape = "Виды") +
theme(plot.title = element_text(vjust = +2))

#Виды пингвинов довольно хорошо различаются по пропорциям клюва
penguins |>
drop_na() |>
ggplot(mapping = aes(x = island, fill = sex)) +
geom_bar(position = "dodge")+
scale_fill_manual(values = c("male" = "#6495ED", "female" = "#FFB6C1"))+
labs(title = "Сравнение численности самцов и самок по островам",
subtitle = "Где больше самцов, а где — самок?",
x = "Остров",
y = "Количество",
fill = "Пол") +
theme(plot.title = element_text(vjust = +2))

penguins |>
drop_na() |>
ggplot(mapping=aes(x = island, fill = sex)) +
geom_bar(position = "dodge") +
facet_wrap(~species)+
scale_fill_manual(values = c("male" = "#6495ED", "female" = "#FFB6C1"))+
labs(title = "Сравнение численности самцов и самок по островам",
subtitle = "Где больше самцов, а где — самок?",
x = "Остров",
y = "Количество",
fill = "Пол") +
theme(plot.title = element_text(vjust = +2))

penguins |>
drop_na() |>
ggplot(mapping=aes(x = island, y =body_mass_g, z=sex, fill = sex)) +
geom_boxplot() +
scale_fill_manual(values = c("male" = "#6495ED", "female" = "#FFB6C1")) +
labs(title = "Сравнение Масса тела самцов и самок по островам",
x = "Остров",
y = "Масса тела (г)",
fill = "Пол") +
theme_bw() +
theme(plot.title = element_text(vjust = +2))

#на всех островах самцы тяжелее самок, но величина разницы варьируется
penguins |>
drop_na() |>
ggplot(mapping=aes(x = species, y = flipper_length_mm, z=sex, fill = sex))+
geom_boxplot() +
scale_fill_manual(values = c("male" = "#6495ED", "female" = "#FFB6C1")) +
labs(title = "Сравнительный анализ размеров ласт у самцов и самок разных видов пингвинов",
x = "Вид пингвина",
y = "Длина ласта (мм)",
fill = "Пол") +
theme_bw() +
theme(plot.title = element_text(vjust = +2))

# у всех трёх видов самцы имеют более длинные ласты, чем самки, хотя величина разницы варьируется
penguins |>
drop_na() |>
ggplot(mapping= aes(x = year))+
geom_bar(mapping = aes(x = year,fill = sex)) +
theme_bw() +
scale_fill_manual(values = c("male" = "#6495ED", "female" = "#FFB6C1")) +
labs(title = "Численность самцов и самок пингвинов по годам",
x = "год",
y = "количество",
fill = "Пол")+
theme_bw() +
theme(plot.title = element_text(vjust = +2))

penguins |>
drop_na() |>
ggplot(mapping = aes(x =bill_length_mm, color = species,fill = species)) +
geom_density(alpha = 0.5)+
labs(title = "Длина клюва у разных видов пингвинов",
x = "Длина клюва (мм)",
y = "Плотность")+
theme_bw() +
theme(plot.title = element_text(vjust = +2))

#Кривые Gentoo и Chinstrap частично перекрываются, что указывает на частичное совпадение длины клюва у этих видов.