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

Нередко формируемые наборы данных содержат сотни или даже тысячи записей. В таком случае проблематично даже просто найти интересующую переменную. Функция select позволяет быстро сузить поле зрения исследователя, сконцентрировав его на нужных именах переменных. Конечно, select не очень полезна для базы авиаперелётов, так как здесь лишь 19 переменных, но продемонстрируем общую идею:

# поимённый выбор столбцов «месяц», «день»

select(flights, month, day)

# выбор всех столбцов между «месяц» и «день» включительно

select(flights, month:day)

# выбор всех столбцов, кроме тех, что лежат между «месяц» и «день» включительно

select(flights, -(month:day))

Существуют вспомогательные функции, которые уместно вызывать внутри select: функция starts_with("абв") выбирает имена столбцов начинающихся с «абв»; функция ends_with("эюя") выбирает имена столбцов заканчивающиеся на «эюя»; функция contains("клм") выбирает имена содержаие подстроку «клм»; функция matches("(.)\\1") выбирает переменные, имена которых соответствуют заданному регулярному выражению, конкретно в данном случае магическим образом выбираются переменные, содержащие повторяющиеся символы, подробнее о регулярных выражениях в строках расскажем в соответствующей главе; вызов num_range("m", 2:4) соответствует набору m2, m3, m4. Всегда можно заглянуть в ?select для получения более подробной информации.

А еще, select можно использовать для переименования переменных, но это редко когда бывает полезным, так как отбрасывает не упомянутые явно переменные. Вместо этого для переименования используется функция rename, который является вариантом select, но сохраняет все переменные, которые не указаны явно:

rename(flights, год = year)

Другой вариант использования select, совместно со вспомогательной функцией everything, бывает необходим если есть несколько переменных, которые нужно переместить в начало базы данных. Например, месяц (month) и день (day) вылета будут показаны первыми при выводе данных из таблицы, содержащей информацию обо всех авиаперелётах (flights) по команде:

select (flights, month, day, everything )

Аналогично запланированную дату и время полёта (time_hour), и время, проведенное в воздухе, выраженное в минутах (air_time) можно перекинуть в начало.

Упражнения

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

2. Что произойдет, если имя одной переменной использовать несколько раз при вызове функции select?

3. Что делает функция one_of? Насколько полезно её применение в сочетании с вектором c("month", "day")?

4. Является ли результатом выполнения следующего кода неожиданным? Что вспомогательные функции выбора переменных в нём возвращают по умолчанию? Как изменить их значение по умолчанию?

select(flights, -contains("TIME"))

Помимо выборки существующих столбцов, полей таблицы базы данных, переменных, бывает необходимым добавление новых столбцов, которые хранят значения, являющиеся функциями от существующих. Это выполняется путём обращения к функции mutate, которая всегда добавляет новые столбцы в конце имеющегося набор данных. Поэтому создадим более узкий набор данных, чтобы видеть новые переменные. Помните, что в RStudio самый простой способ увидеть все столбцы таблицы это вызов функции view. Создадим укороченный_вариант_таблицы, содержащий все поля между «год» (year) и «день» (day) включительно, плюс поля, содержащие информацию о задержках (заканчивающиеся на delay), покрытом расстоянии (distance) и времени полёта (air_time) в минутах:

укороченный_вариант_таблицы <– select(flights,

year:day,

ends_with("delay"),

distance,

air_time)

Теперь добавим вычисляемые поля с информацией об опоздании, – задержке вылета минус задержка прилета, в минутах, и о средней скорости полёта. Обратите внимание, что можно ссылаться на столбцы, которые уже созданы. Если вдруг захотите сохранить только новые переменные, то используйте transmute вместо mutate:

mutate(укороченный_вариант_таблицы,

опоздание = dep_delay – arr_delay,

скорость = distance / air_time * 60,

часы_полёта= air_time / 60,

опоздание_в_каждом_часе = опоздание / часы_полёта )

Существует много функций для создания новых переменных, которые можно комбинировать с mutate. Ключевое их свойство заключается в том, что функция должна быть пригодной для обработки векторов, то есть она должна принимать вектор значений на входе и возвращать вектор с тем же количеством значений на выходе. Нет возможности перечислить все такие функции, но приведём некоторые из реально используемых.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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