Эта одна строка кода загружает ядро tidyverse, пакеты, которые будут использоваться практически при каждом анализе данных. После её выполнения в консоли показывается, какие функции из tidyverse конфликтуют с функциями в базе R (или из других пакетов, которые могли быть загружены). Если запустите этот код и получите сообщение «Ошибка в library(tidyverse) :нет пакета под названием ‘tidyverse’», то нужно будет сначала установить его, а затем снова запустить library следующим образом:
install.packages("tidyverse")
library(tidyverse)
Достаточно однократно установить пакет, но необходимо подгружать его каждый раз, когда открываете новую рабочую сессию. Если потребуется в явном виде указать из какого пакета вызывается функция (или набор данных), то будем использовать специальную нотацию с двойным двоеточием, например, ggplot2::ggplot сообщает явным образом, что мы используем функцию ggplot из пакет ggplot2. Давайте разберем первый график из предыдущей главы, чтобы ответить на a вопрос: используют ли автомобили с большими двигателями больше топлива, чем автомобили с маленькими двигатели? Аналогично риторическому: лучше ли осваивают математику ученики в специализированных физико-математических классах, чем ученики обучающиеся в классах с минимальным количеством уроков математики? Вы, вероятно, уже знаете ответ, но попробуйте конкретизировать. Какова взаимосвязь между размером двигателя и топливная эффективность, либо взаимосвязь между количеством учебного времени, выделяемого на элементарную математику, и успехами страны в космической отрасли, как она выглядит: положительно? отрицательно? линейно? нелинейно?
Вы можете проверить свой ответ с помощью базы данных mpg хранящейся в ggplot2 (она же ggplot2::mpg). База данных представляет собой таблицу переменных (в столбцах) и наблюдаемых значений (в строках). База mpg содержит наблюдения, собранные американскими агентством по охране экологии на 38 моделях автомобилей.
Среди прочих переменных в базе mpg хранятся:
1. displ, – объем двигателя автомобиля, в литрах;
2. hwy, – топливная экономичность автомобиля на шоссе, в милях на галлон (mpg).
Автомобиль с низкой топливной экономичностью потребляет больше топлива, чем автомобиль с высокой топливной эффективностью, когда они проедут одно и то же расстояние. Чтобы узнать больше о содержимом mpg, откройте ее страницу в справке.
Чтобы визуализировать mpg, запускается следующий код, который отобразит displ на ось
ggplot (data = mpg) +
geom_point (mapping = aes (x = displ, y = hwy))
По графику становится очевидной отрицательная связь между размером двигателя (displ) и топливной экономичностью (hwy). Другими словами, автомобили с большими двигателями использует больше топлива, равно как и большее количество учебного времени приводит к заведомо лучшим результатам обучающихся. Может ли это подтвердить или опровергнуть гипотезу о топливной экономичности и размере двигателя?
С помощью ggplot2 можно начать построение графика с помощью функции ggplot. ggplot создает систему координат, которую можно наполнить слоями. Первый аргумент функции ggplot это набор данных, используемый в диаграмме. Таким образом, ggplot(data=mpg) создает пустой график, но это не очень информативно. Вы завершите построение графика, добавив один или несколько слоёв в ggplot. Функция geom_point добавляет слой точек.
В общем случае, ggplot2 используется со многими функциями категории geom, каждая из которых добавляет отдельный слой к графику, на протяжении этой главы они еще будут упомянуты.
Каждая функция geom в ggplot2 принимает аргумент, который определяет, как переменные в наборе данных сопоставляются с визуальными свойствами. Аргумент mapping всегда сопряжен с функцией aes, а аргументы x и y в функции aes определяют, какие переменные нужно сопоставить осям x и y соответственно. ggplot2 ищет сопоставленные переменные в данных аргумента, например, в таблице mpg.
Перепишем код в виде многоразового шаблона для построения графиков с помощью ggplot2. Чтобы построить график, достаточно заменить заключенные в угловые скобки фрагменты в коде ниже на наборы данных, функцию geom, либо на соответствия по осям:
ggplot(data = <данные>) +
<функция geom>(mapping = aes(<функция geom ><соответствие>))
В дальнейшем разберем детально, как заполнить и расширить этот шаблон, чтобы построить графики различных типов. Начнем с компоненты <соответствие>.
Упражнения
1. Запустите ggplot(data=mpg). Что получится?
2. Сколько строк находится в mpg? Сколько там колонок?
3. Что описывает переменная drv? Прочитайте справку по mpg, введя в консоли ?mpg, чтобы выяснить это.
4. Сделайте диаграмму рассеяния hwy относительно cyl.
5. Что произойдет, если попытаться создать диаграмму рассеяния переменной class относительно drv? Почему такого графика нельзя построить?