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

Подсчет числа значений удовлетворяющих логическому выражению, sum(x > 777), или их среднее количество, mean(y == 0), предполагает, что в связке с числовыми функциями TRUE преобразуется в 1, а FALSE в 0. Это делает функции sum и mean очень востребованными: sum(x) возвращает количество значений TRUE для аргумента x, а mean(x) возвращает их долю. Вычислим, сколько неотмененных рейсов было до 6 утра по данным за каждые сутки, это обычно указывает на задержку с предыдущего дня:

неотмененные %>% group_by(year, month, day) %>%

summarise(утренние_рейсы = sum(dep_time < 600))

Какова доля неотмененных рейсов, задержавшихся более часа:

неотмененные %>% group_by(year, month, day) %>%

summarise(часовая_задержка = mean(arr_delay >= 61))

При группировании по нескольким переменным, каждая новая сводка выносится на новый уровень группировки. Это облегчает восприятие и постепенно упрощает данные:

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

(сводка_по_дням <– summarise(группы_по_дням, полётов = n))

(сводка_по_месяцам <– summarise(сводка_по_дням, полётов = sum(полётов)))

(сводка_за_год <– summarise(сводка_по_месяцам, полётов = sum(полётов)))

Будьте осторожны при постепенном сворачивании выборки, это приемлемо для итоговых сумм и счетчиков, но нужно не забывать про такие характеристики, как медиана и отклонение, анализ результатов свёртки принципиально невозможен в ранговой статистике. Другими словами, сумма внутригрупповых сумм является общей суммой, но медиана внутригрупповых медиан не будет равна общей медиане, о последнем свойстве порой сознательно забывают при выведении нужных результатов из различных голосований. Если потребуется отменить группировку, и вернуться к операции с негруппированными данными, то используется функция ungroup:

группы_по_дням %>%

ungroup %>% # разгруппируем данные обратно

summarise(полётов = n) # подсчитаем все полёты

Упражнения

1. Примените мозговой штурм чтобы изобрести как минимум 7 различных способов анализа типовых причин серийной задержки рейсов, учитывая следующие сценарии:

а) в 50% случаев вылет осуществляется на 15 минут раньше запланированного, и в 50% рейс задерживается на 15 минут.

б) рейс всегда опаздывает на 10 минут.

в) 50% рейсов вылетает на 30 минут раньше, и 50% на 30 минут опаздывает.

г) в 99% случаев рейс выполняется точно по графику, а в оставшемся 1% происходит опоздание на 2 часа.

Что более важно для пассажира, задержка прибытия или задержка вылета, а для работы аэропортов?

2. Придумайте альтернативный способ решения той же задачи, что и в примерах неотмененные %>% count (dest), неотмененные %>% count(tailnum, wt = distance), но без использования функции count.

3. Следующее определение отмененных рейсов не оптимально:

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

filter( is.na(dep_delay) | is.na(arr_delay) )

Почему? Какая колонка важнее в этом случае: задержка времени вылета (dep_delay) или задержка времени прилёта (arr_delay)?

4. Посмотрите на ежедневное количество отмененных рейсов. Есть ли здесь закономерность? Связана ли доля отмененных рейсов со средней задержкой?

5. Какой перевозчик (carrier) имеет худшую статистику по задержкам рейсов? Можно ли обнаружить зависимость плохих статистических показателей аэропортов от качества работы перевозчиков? Если да, то как, если нет, то почему?

6. За что отвечает аргумент выбора способа сортировки sort в функции count? Когда уместно его использование?

Группирование данных бывает полезным в сочетании с функцией подведения итогов summarise, но есть удобные шаблоны и для операций преобразования mutate с фильтрацией filter. Вспомним про укороченный_вариант_таблицы <– select(flights, year:day, ends_with("delay"), distance, air_time), хранящий лишь сведения об опозданиях, и выделим по 5 злостных нарушителей регламента полётов на каждый день:

укороченный_вариант_таблицы %>% group_by(year, month, day) %>%

filter(rank(desc(arr_delay)) <= 5)

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

( популярные_направления <– flights %>% group_by(dest) %>%

filter(n > 17282) )

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

популярные_направления %>% filter(arr_delay > 0) %>%

mutate(относительная_задержка = arr_delay / sum(arr_delay)) %>%

select(year:day, dest, arr_delay, относительная_задержка)

Как видим, группирующая фильтрация приводит к изменениям, за которыми следует обычная фильтрация. Желательно избегать подобного, за исключением поверхностного анализа данных, в противном случае бывает трудно проверить корректность выполненных манипуляций. Функции, которые наиболее естественно работают со сгруппированными данными, например mutate и filter, называются оконными функциями, в отличие от резюмирующих функций типа summary. Узнать больше об оконных функциях можно вызвав соответствующий раздел справки, введя консольную команду vignette("window-functions").

Упражнения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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