Семинар 5. Решения

Задание 1

В данном задании нужно работать со встроенной в R базой данных по автомобилям mtcars. Загружать ее по ссылке не нужно, достаточно набрать ее название (data = mtcars). Например, чтобы посмотреть на базу, можно просто воспользоваться View(mtcars).

Постройте с помощью библиотеки ggplot2 пузырьковую диаграмму (bubble plot), которая

  • показывала бы связь между показателями Gross horsepower (hp) и Weight (wt)
  • учитывала бы информацию о числе цилиндров у автомобиля (cyl)
  • учитывала бы информацию о типе коробки передач - автоматическая или нет (am); сделайте так, чтобы легенда графика была корректной и информативной + пусть точки, соответствующие автомобилям с автоматической коробкой передач, будут зеленого цвета ("green"), а с ручной – красного ("red")

Подпишите оси (дайте им более вразумительные названия). Добавьте название (заголовок) графика.

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.5.2
ggplot(data = mtcars, aes(x = hp, y = wt)) +
  geom_point(aes(size = cyl, color = as.factor(am))) +
  labs(title = "Характеристики автомобилей", 
       x = "Число лошадиных сил", 
       y = "Вес", 
       color = "Коробка передач", 
       size = "Число цилиндров") +
  scale_color_manual(values = c("green", "red"),                    
  labels = c("Автомат", "Механика"))

Задание 2

Работая с той же базой mtcars, воспроизведите этот график:

Подсказка: цвет - “brown”, 0 - автоматическая коробка передач, 1 - ручная (am) число столбцов (bins) можно определить по графику.

ggplot(data = mtcars, aes(x = hp)) + 
  geom_histogram(fill = "brown", 
                 color = "black", 
                 bins = 6) +  
  labs(title = "Gross horsepower", 
       x = "Horsepower", 
       y = "count") + 
  theme_bw() + 
  facet_grid(~am, 
             labeller = labeller(am = c("0" = "Automatic", 
                                        "1" = "Mechanic")))

Задание 3

В данном задании нужно работать с базой sleep, встроенной в R.

Постройте «ящики с усами» в пределах одной области для графика, которые иллюстрировали бы распределение переменной extra по группам испытуемых. Поменяйте базовые цвета заливки графиков, добавьте подписи к осям и заголовок графика.

ggplot(data = datasets::sleep, 
       aes(x = "", y = extra, 
           group = group, fill = group)) +
  geom_boxplot() + 
  scale_fill_manual(values = c("hotpink", "darkviolet")) +
  labs(title = "Student's Sleep", x = "Groups", y = "Extra time (hours)") +
  theme(plot.title = element_text(hjust = 0.5))