Основы статистической обработки педагогической информации. Денис Владимирович Соломатин
эстетика для дискретной переменной (как было в примере с linetype). Удобно использовать эту особенность, потому что в таком случае группа эстетических параметров оказывается самой по себе, она не выносится на поле легенды или в настройки каждого объекта. К слову, показ легенды можно запретить вовсе, установкой значения параметра show.legend = FALSE, как это показано в примере кода ниже:
ggplot (data = My_table) + geom_smooth (mapping = aes (x = `№№`, y = Тема2))
ggplot (data = My_table) +
geom_smooth (mapping = aes (x = `№№`, y = Тема2, group = Класс))
ggplot (data = My_table) +
geom_smooth( mapping = aes(x = `№№`, y = Тема2, color = Класс),
show.legend = FALSE)
Чтобы изобразить несколько графиков на одном чертеже, добавьте несколько вызовов функции geom к ggplot():
ggplot (data = My_table) +
geom_point (mapping = aes (x = `№№`, y = Тема2)) +
geom_smooth (mapping = aes (x = `№№`, y = Тема2))
Это, однако, вносит некоторое дублирование в код. Представите, что хотите изменить ось y для отображения успеваемости по теме 3 вместо темы 2, нужно будет менять переменную в дух местах, при этом можно забыть про обновление в одном из них.
Дабы избежать подобного сценария, набор значений аргумента mapping передается непосредственно в функцию ggplot(). ggplot2 будет рассматривать эти значений как глобальные и применять их к каждой функции вызываемой внутри. Другими словами, следующий код создаёт ту же иллюстрацию, что и предыдущий, но более лаконичен:
ggplot (data = My_table, mapping = aes (x = `№№`, y = Тема2)) +
geom_point() + geom_smooth()
Если же размещаете параметры mapping внутри каждой функции geom, то ggplot2 будет рассматривать их как локальные настройки для слоя. Будет использоваться параметр mapping для расширения или перезаписи глобальных настроек слоя. Это позволяет настраивать различную эстетику внутри индивидуальных слоёв:
ggplot (data = My_table, mapping = aes (x = `№№`, y = Тема2)) +
geom_point (mapping = aes (color = Класс)) + geom_smooth()
Можно использовать подобную идею, чтобы выбирать разные данные для каждого слоя:
ggplot (data = My_table, mapping = aes (x = `№№`, y = Тема2)) +
geom_point (mapping = aes (color = Класс)) +
geom_smooth (data = My_table[My_table$Класс == "7а", ], se = FALSE)
В приведенном примере, гладкая линия охватывает только подмножество исходного набора данных. Локальный аргумент в geom_smooth() переопределяет глобальный аргумент отбора данных в ggplot().
Разберем как работает фильтрация чуть позже, на данный момент достаточно понять, что эта команда выбирает только учеников 7а класса, а опция se = FALSE отключает подсветку доверительного интервала.
Упражнения
1. Какую функцию из категории geom_ вы бы использовали для построения линейного графика? А для круговой, лепестковой диаграммы, гистограммы?
2. Что меняет опция show.legend = FALSE? Что происходит если её убрать? Как думаете, почему она использовалась ранее в примере?
3. Что делает аргумент se для функции geom_smooth ()?
4. Воссоздайте код R, необходимый для создания следующего рисунка и дайте ему соответствующую интерпретацию:
Подробнее остановимся на гистограммах, – так называемых прямоугольных диаграммах. Они кажутся простыми, но интересны тем, что открывают потенциальные закономерности в наблюдаемой статистике. Рассмотрим