library(tidyverse)
## Warning: пакет 'tidyverse' был собран под R версии 4.5.3
## Warning: пакет 'ggplot2' был собран под R версии 4.5.3
## Warning: пакет 'tidyr' был собран под R версии 4.5.3
## Warning: пакет 'readr' был собран под R версии 4.5.3
## Warning: пакет 'purrr' был собран под R версии 4.5.3
## Warning: пакет 'stringr' был собран под R версии 4.5.3
## Warning: пакет 'forcats' был собран под R версии 4.5.3
## Warning: пакет 'lubridate' был собран под R версии 4.5.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.2.0
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.2 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.1
## ── 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
Самостоятельное задание
#1. Что не так с этим кодом? (попробуйте запустить, посмотреть и разобраться и в ячейке внизу написать правильный код)
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, color = "blue"))
Внутри aes() аргументу color присваивается строка “blue”, а не имя переменной, это делается вне aes(). Вот правильный код
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy), color = "blue")
#2. Какие переменные в наборе mpg являются категориальными, а какие непрерывными?
Категориальные: manufacturer, model, year, cyl, trans, drv, fl, class. Непрерывные: displ, cty, hwy.
#3. Выберите одну из количественных переменных и включите ее в в код в качестве аргумента color, size или shape. Посмотрите, как различается представление категориальных и количественных переменных? В каком случае возникает ошибка? Почему?
Возьмём количественную переменную cty и включим её в качестве color:
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy, color = cty))
Для непрерывной переменной создаётся непрерывная цветовая шкала.
Ошибка возникает, если использовать shape = cty, потому что непрерывная переменная не может быть сопоставлена с эстетикой формы.
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, shape = cty))
#4. Что произойдет, если одну и ту же переменную, например, drv, назначить в качестве аргумента в разных настройках (например, и в качестве shape и в качестве color)? Измените исходный код графика и запишите его ниже.
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy, color = drv, shape = drv))
Точки будут различаться и по цвету, и по форме.
#5. В функции geom_point есть еще несколько аргументов в функции aes(), например - stroke, fill и group. Посмотрите, примеры кода для построения графиков с такими аргументами и приведите один из примеров ниже.
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy, fill = drv, stroke = 1.5),
shape = 21, size = 4)
#6. Что произойдет, если вместо имены переменной указать что-то другое, наприме, aes(colour = displ < 5)? Попробуйте измеить код и вставить ниже.
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy, colour = displ < 5))
Функция интерпретируется как категориальная переменная с двумя категориями, окрашивание точек в соотвествии с категориями
Самостоятельная работа #1. Какой geom нужно использовать, чтобы нарисовать линейный график? А боксплот? А гистограмму? А диаграмму с областями (area chart)? Создайте такие графики для переменных набора mpg, mtcars или diamonds.
ggplot(data = mtcars, aes(x = wt, y = mpg)) +
geom_line() +
labs(title = "Линейный график зависимости расхода топлива от веса",
x = "Вес (1000 lbs)", y = "Расход (миль/галлон)")
ggplot(data = mtcars, aes(x = factor(cyl), y = hp)) +
geom_boxplot() +
labs(title = "Боксплот количества цилиндров по мощности двигателя",
x = "количество цилиндров", y = "мощность двигателя (в лошадиных силах)")
ggplot(data = mtcars, aes(x = mpg)) +
geom_histogram(binwidth = 5, fill = "green", color = "white") +
labs(title = "Гистограмма распределения расхода топлива",
x = "Расход (миль/галлон)", y = "Частота")
ggplot(data = mtcars, aes(x = qsec, y = mpg)) +
geom_area(fill = "grey", alpha = 0.5) +
geom_line(color = "yellow") +
labs(title = "расход топлива и время разгона",
x = "Время разгона 1/4 мили (сек)", y = "Расход (миль/галлон)")
#2. Постройте вот такие графики:
№1
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
№2
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
#3. Постройте перевернутый барчарт по одной из категориальных переменных набора данных diamonds
#4.
bar + coord_polar()