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

Ниже объясним подробно, что значит последний параметр 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))

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

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

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

10 заповедей коммуникационной войны. Как победить СМИ, Instagram и Facebook
10 заповедей коммуникационной войны. Как победить СМИ, Instagram и Facebook

Благодаря развитию социальных сетей и интернета информация сейчас распространяется с ужасающей скоростью – И не всегда правдивая или та, которую мы готовы раскрыть. Пост какого-нибудь влогера, который превратит вашу жизнь в кромешный ад, лишит ваш бизнес потребителей, заставит оправдываться перед акционерами, партнерами и клиентами всего лишь вопрос времени.Как реагировать, если кто-то сообщает ложные сведения о вас или вашем бизнесе? Что делать, если вы оказались вовлечены в публичный конфликт? Как правильно признать свою ошибку?Авторы книги предлагают 10 универсальных заповедей – способов поведения, которые помогут вам выйти из сложных коммуникационных ситуаций, а два десятка практических примеров (как положительных, так и отрицательных) наглядно демонстрируют широту и особенности их применения.Вряд ли у вас получится поставить эту книгу на полку, прочитав один раз. Оставьте ее на виду, обращайтесь к ней как можно чаще, и тогда у вас появится шанс выжить в коммуникационном армагеддоне XXI века.

Дмитрий Солопов , Каролина Гладкова

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

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

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

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

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

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

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

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

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

Менеджмент / Финансы и бизнес