library(tidyverse)
library(palmerpenguins)
options(scipen = 999)

# Повторим некоторые графики из презентации к занятию

head(penguins)
table(penguins$species)
table(penguins$sex)

table(penguins$species, penguins$sex)

ggplot(data = penguins, 
       mapping = aes(
         x = bill_length_mm, 
         y = bill_depth_mm)) +
  geom_point(size = 3, alpha = 0.8)

penguins %>%
ggplot(mapping = aes(
         x = bill_length_mm, 
         y = bill_depth_mm)) +
  geom_point(size = 3, alpha = 0.6)

ggplot(data = penguins, 
       mapping = aes(
         x = bill_length_mm, 
         y = bill_depth_mm)) +
  geom_point(size = 3, alpha = 0.8, color = 'green') +
  theme_bw()


# Давайте посмотрим на встроенный датасет msleep.
# Что он содержит?
# Подробную информацию о датасете можно получить в справке: ?msleep.

head(msleep)
?msleep

# В каких пределах изменяется вес животных?

ggplot(msleep,
       aes(x = bodywt)) +
  geom_histogram()

# Получилось плохо и ничего непонятно
# Конкретно эту ситуацию можно попробовать исправить

ggplot(msleep,
       aes(x = log10(bodywt))) +
  geom_histogram() 

ggplot(msleep,
       aes(x = bodywt)) +
  geom_density(alpha = 0.6) + 
  scale_x_log10() + 
  theme_bw()

# В выборке не очень много наблюдений, а диапазон веса достаточно широк, чтобы построить наглядную гистограмму
# Видим намек на бимодальное распределение
# Может быть стоит посмотреть распределение веса отдельно для животных по типу питания
# Есть ли заметные различия по этому параметру между группами животных с разным типом питания?

ggplot(msleep,
       aes(x = bodywt, fill = vore)) +
  geom_density(alpha = 0.6) + 
  scale_x_log10() + 
  theme_bw()

ggplot(msleep) +
  geom_boxplot(aes(x = vore, y = bodywt)) +
  scale_y_log10()

# Кто самые толстенькие? 

msleep %>% 
  filter(bodywt > 2000) # слоники

# Наблюдается ли взаимосвязь между весом животных и общей длительностью их сна?

msleep %>% 
  ggplot(aes(x = bodywt, y = sleep_total,
             color = vore)) +
  geom_point(size = 3) +
  scale_x_log10() +
  theme_bw()

msleep %>% 
  filter(vore == 'herbi') %>%
  ggplot(aes(x = bodywt, y = sleep_total,
             color = vore)) +
  geom_point(size = 3) +
  scale_x_log10() +
  theme_bw()
