Читаем Основы статистической обработки педагогической информации полностью

Ниже объясним подробно, что значит последний параметр na.rm = TRUE. Функция summary не очень полезна, если используется без вспомогательной функции group_by, которая переключает разбивает анализ всего набора данных на отдельные группы. Когда вызывается функция из пакета dplyr на сгруппированных данных, автоматически подключается group_by для распараллеливания вычислений в целях повышения производительности и дробления информации. Например, если применить точно такой же вызов как в предыдущем примере, но для сгруппированных по дате записях, то на выходе получится средняя задержка по дням:

сгруппированные_по_дням <– group_by(flights, year, month, day)

summarise(сгруппированные_по_дням,

средняя_задержка_рейсов_по_датам = mean(dep_delay, na.rm = TRUE))

Вызов функций group_by совместно с summary чаще всего используется при работе в пакете dplyr для получения статистических отчетов по группам. Но прежде, чем погрузиться в детали, дополнительно изложим одну техническую идею, касающуюся обработки информации путём её направления по специальным каналам. Представьте, что хотим исследовать закономерность между расстоянием и средней задержкой рейса для каждого пункта назначения. Опираясь на имеющиеся знания о возможностях dplyr, для этого достаточно использовать такой код:

группы_рейсов_по_месту_назначения <– group_by(flights, dest)

задержки <– summarise(группы_рейсов_по_месту_назначения,

опозданий = n, средняя_длина_маршрута = mean(distance, na.rm = TRUE),

средняя_задержка = mean(arr_delay, na.rm = TRUE))

Оставим в выборке рейсы имеющие более сотни регулярных опозданий и, например, не на московских направлениях:

задержки <– filter(задержки, опозданий > 100, dest != "MSK")

Визуализируем оставшиеся записи:

ggplot(data = задержки, mapping =

aes(x = средняя_длина_маршрута, y = средняя_задержка)) +

geom_point(aes(size = опозданий), alpha = 1/5) +

geom_smooth(se = FALSE)



Похоже, что задержки растут с увеличением расстояния до ~750 миль, а затем сокращаются. Неужели, когда рейсы становятся длиннее, появляется возможность компенсировать опоздание находясь в полёте?

Предварительно было пройдено три вспомогательных этапа подготовки данных:

1. Сгруппированы рейсы по направлениям.

2. В каждой из групп усреднены расстояния, длительность задержки и вычислено количество опоздавших рейсов.

3. Отфильтрованы шумы и аэропорт, который не подчиняется законам логики.

Этот код немного перегружен, так как каждому промежуточному блоку данных присвоено имя. Вспомогательные таблицы сохранялись, даже когда их содержимое не востребовано на заключительном этапе, и замедляли анализ. Но есть отличный способ справиться с обозначенной проблемой посредством настройки каналов передачи данных служебным оператором %>%:

задержки <– flights %>%

group_by(dest) %>%

summarise(

опозданий = n,

средняя_длина_маршрута = mean(distance, na.rm = TRUE),

средняя_задержка = mean(arr_delay, na.rm = TRUE) ) %>%

filter(опозданий > 100, dest != " MSK ")

Такой синтаксис фокусирует внимание исследователя на выполняемых преобразованиях, а не на том, что получается на каждом из вспомогательных этапов, и делает код более читаемым. Это звучит как ряд предписаний: сгруппируй, после этого подведи итоги, после этого отфильтруй полученное. Как подсказывает здравый смысл, можно читать %>% в коде как «после этого». По сути же, формируется информационный канал последовательной передачи данных на обработку от одной функции через другую к третьей. Технически, x %>% f(y) превращается в f(x, y), а x %>% f(y) %>% g(z) превращается в композицию функций g(f(x, y), z) и так далее, что позволяет использовать канал для объединения нескольких операций в одну, которую можно читать слева направо, сверху вниз. Будем часто пользоваться каналами, так как это значительно упрощает читаемость кода, разберём их более подробно в соответствующем разделе.

Работа с каналами это одна из ключевых особенностей tidyverse. Единственным исключением является ggplot2, так как библиотека была написано до появления такой возможности в R. К сожалению, являющаяся наследником ggplot2 библиотека ggvis хотя и поддерживает работу с каналами, но пока еще не в полной мере.

Внимательный читатель наверняка задавался вопросом о смысле и предназначении аргумента na.rm. Что будет, если его не писать? Получим много пропущенных значений! Дело в том, что агрегационные функции подчиняются обычному правилу пропущенных значений: если на входе есть какое-либо отсутствующее значение, то выход будет отсутствующим значением. К счастью, все функции агрегации имеют аргумент na.rm, который удаляет пропущенные значения перед началом вычислений. В том случае, где пропущенные значения представляют отмененные рейсы, мы также могли бы решить эту проблему, сначала удалив отмененные рейсы. Сохраним этот набор данных, чтобы использовать его повторно в нескольких следующих нескольких примерах:

неотмененные <– flights %>%

filter(!is.na(dep_delay), !is.na(arr_delay))

Сгруппируем получившиеся данные о неотмененных рейсах по датам и посчитаем среднюю задержку на каждую дату в отдельности:

Перейти на страницу:

Похожие книги

100 уроков самбо для руководителя
100 уроков самбо для руководителя

Уважаемые читатели, вы держите в руках действительно необычную книгу. И написана она совершенно особым образом. Возможно, вы слышали про уроки управленческой борьбы на основе китайских стратагем или читали «Книгу 5 колеи» знаменитого японского фехтовальщика Миямото Мусаси. Ни для кого не секрет, что уроки единоборств давно используются в управленческой практике и бизнесе. Данная книга уникальна тем, что базируется на опыте российского национального вида спорта – борьбе самбо. Предназначена она в первую очередь для отечественных управленцев. Книга не только передает очень интересный управленческий опыт, но и предоставляет внимательному читателю ключики к загадочной русской душе. Книга написана «на двоих»: один автор – руководитель высокого уровня с богатейшим управленческим опытом Вениамин Каганов, второй – известный бизнес-тренер и оригинальный писатель, суворовед Вячеслав Летуновский. Каждый урок сопровождается реальными примерами из жизни и управленческой практики.В формате PDF A4 сохранен издательский макет книги.

Вениамин Шаевич Каганов , Вячеслав Владимирович Летуновский

Менеджмент / Финансы и бизнес
В поисках идеального потока. История Производственной системы Росатома
В поисках идеального потока. История Производственной системы Росатома

Покупая эту книгу, вы помогаете детям получить ценный опыт. Ведь все средства, полученные от продажи, идут на организацию школьных поездок на промышленные предприятия страны. Благодаря им ребята узнают о технических специальностях и знакомятся с передовыми методами бережливого производства. Производственной системе Росатом 17 лет. Мне уготовано было быть лидером ее развития с первого же дня. Сегодня она работает везде от заводов и строек до школ и поликлиник. Наш руководитель Лихачев Алексей Евгеньевич как-то сказал, что производственная система Росатом стала культурным кодом атомной отрасли, своеобразной религией госкорпорации. Об этом и книга. С чего все начиналось и кто стоял у истоков? С какими трудностями пришлось столкнуться в начале пути? И благодаря кому и чему удалось эти трудности преодолеть? Об этом и многом другом конкретно и поэтапно.

Сергей Александрович Обозов

Менеджмент / Финансы и бизнес
Правила команды. Искусство думать вместе
Правила команды. Искусство думать вместе

Как и для чего создаются команды? Как команды развиваются, как их правильно обучать и мотивировать? Как распределяются роли в команде и каковы функции лидера?Авторы книги, Максим Поташев и Павел Ершов, опираясь на свой многолетний практический опыт управления командами как в бизнесе, так и в игре «Что? Где? Когда?», рассказывают, как превратить собранных вместе людей в настоящую команду и как сделать ее эффективной.Вы узнаете о жизненном цикле команды, компетенциях, функциональных ролях, командной культуре и вопросах лидерства.В книге вы также найдете интересные тесты, с помощью которых определите свою оптимальную роль в команде, оцените, какие компетенции следует развивать, и поймете, лидером какого типа вы можете стать.

Максим Оскарович Поташев , Павел Михайлович Ершов

Менеджмент / Финансы и бизнес
Несломленный дух
Несломленный дух

На милых улицах Москвы мечта молодого футболиста сталкивается с жестокой реальностью. Зажатый между своей горящей страстью и скептицизмом семьи, этот одаренный 17-летний юноша должен пройти опасный путь к успеху. Пытаясь занять место в профессиональных лигах, неожиданно появляются союзники и яростные соперники, испытывающие не только его навыки, но и характер. Разрушительная травма угрожает разрушить все, над чем он работал, заставляя его глубоко копнуть и переопределить свои амбиции. С поддержкой строгого наставника и девушки, которая верит в него, сможет ли он преодолеть все препятствия? Когда время на самом важном матче его жизни истекает, он сталкивается с моментом, который определит его будущее. Эта захватывающая история настойчивости, любви и прекрасной игры исследует, что на самом деле значит преследовать мечту – и цену, которую нужно заплатить, чтобы ее достичь.

Александр Кар

О бизнесе популярно / Управление, подбор персонала / Менеджмент / Финансы и бизнес