Файл: Миллатов Мейрамбек АиУ22 Используя датасет diamonds из ggplot2 найдите 1вашему мнению, обусловлена разница в этих количествах.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 117
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Пример кода для подсчета времени полета и проверки выбросов:
Для определения авиарейсов, которые характеризуются наибольшей задержкой во время полета, можно использовать тот же подход, но вместо фильтрации по выбросам выбрать топ-10 самых длительных авиарейсов в каждом пункте назначения:
Этот код выводит топ-10 самых длительных авиарейсов для каждого пункта назначения, отсортированных по убыванию времени полета.
найдите все пункты назначения, которые обслуживаются по крайней мере двумя авиаперевозчиками. Используйте эту информацию для ранжирования перевозчиков.
Для нахождения всех пунктов назначения, которые обслуживаются по крайней мере двумя авиаперевозчиками, можно использовать следующий код:
В этом коде мы:
-
используем функцию distinct() для выбора уникальных пар значений dest и carrier; -
группируем полученные значения по dest; -
используем функцию filter() для выбора только тех пунктов назначения, которые обслуживаются по крайней мере двумя авиаперевозчиками; -
сортируем полученные значения сначала по dest, а затем по carrier.
Чтобы ранжировать перевозчиков, можно использовать ту же выборку и функцию count():
В этом коде мы:
-
используем функцию distinct() для выбора уникальных пар значений dest и carrier; -
группируем полученные значения по carrier; -
используем функцию filter() для выбора только тех авиаперевозчиков, которые обслуживают по крайней мере два пункта назначения; -
используем функцию count() для подсчета количества пунктов назначения, обслуживаемых каждым перевозчиком;
сортируем полученные значения по убыванию количества пунктов назначения.
как распределение авиарейсов по времени па протяжении дня изменяется в течение года?
Для того, чтобы найти, как распределение авиарейсов по времени меняется в течение года, можно построить график, отображающий количество вылетов в зависимости от времени суток для каждого месяца. Для этого используем библиотеку ggplot2.
Сначала загрузим необходимые библиотеки и датасет flights из nycflights13:
Затем создадим новый столбец hour в датафрейме flights, содержащий только час вылета, используя функцию format() для извлечения часовой информации из столбца dep_time:
Далее построим график, который показывает количество вылетов в зависимости от времени суток для каждого месяца:
На графике каждый месяц представлен в отдельной графической области, разделенной на три колонки. Цветом заполнения столбцов указано количество вылетов.
График показывает, что количество вылетов существенно меняется в течение дня в зависимости от месяца. Например, в январе и феврале число вылетов значительно снижается в период с 1:00 до 6:00 утра. В то же время, в июле и августе наиболее активное время вылетов - с 6:00 до 20:00.
Таким образом, можно сделать вывод, что распределение авиарейсов по времени в течение дня изменяется в зависимости от месяца, что может быть полезной информацией для планирования авиаперевозок.
сравните между собой значения переменных dep_time, sched_dep_time и dep_delay. Согласуются ли они между собой?
Переменная dep_time представляет фактическое время отправления рейса, sched_dep_time - запланированное время отправления, а dep_delay - время задержки отправления рейса (в минутах). Для сравнения значений этих переменных между собой, можно использовать следующий код:
Из данного вывода можно сделать следующие выводы:
-
Переменная dep_time содержит значения от 1 до 2400, что соответствует времени отправления рейса в минутах с начала дня. В переменной присутствуют пропущенные значения (NA). -
Переменная sched_dep_time содержит значения от 106 до 2359, что соответствует запланированному времени отправления рейса в минутах с начала дня. В переменной отсутствуют пропущенные значения. -
Переменная dep_delay содержит значения от -86 до 1301, что соответствует времени задержки отправления рейса в минутах. В переменной присутствуют пропущенные значения (NA).
Таким образом, значения переменных dep_time и sched_dep_time соответствуют времени отправления рейса, но dep_delay может принимать отрицательные значения (если рейс отправился раньше запланированного времени) и содержит пропущенные значения. Поэтому, если сравнивать переменные между собой, нужно учитывать эти особенности.
сравните значения переменной air_time с длительностью промежутка времени между вылетом и прилетом самолета. Объясните полученные результаты.
Для начала, нам нужно загрузить библиотеку nycflights13 и загрузить датасет flights.
Затем мы можем создать новую переменную duration для каждого рейса, которая представляет собой разницу между временем вылета и временем прибытия в минутах:
Теперь мы можем сравнить переменную air_time (время, которое занимает полет в минутах) с новой переменной duration (время между вылетом и прибытием в минутах):
Мы видим, что значения переменной duration значительно больше, чем значения переменной air_time. Это происходит из-за того, что air_time - это только время, проведенное в воздухе, в то время как duration включает в себя время на земле, такое как время транспортировки самолета к взлетной полосе, время ожидания в очереди для взлета и посадки, а также другие задержки. Кроме того, duration может быть отрицательным, если рейс прибывает раньше, чем отлетает.
Таким образом, переменная duration более полезна для анализа общей длительности рейса, включая время на земле, в то время как air_time предоставляет информацию только о времени, проведенном в воздухе.
как среднее время задержки изменяется в течение дня? Что вы должны использовать: dep_time или sched_dep_time?
Для начала нужно загрузить необходимые пакеты и набор данных. Пакет "nycflights13" должен быть установлен, чтобы получить доступ к набору данных.
Затем мы можем рассчитать среднее время задержки для каждого часа дня, используя пакет "dplyr". Мы сгруппируем рейсы по часу и рассчитаем среднее время задержки для каждой группы.
Затем мы можем построить график среднего времени задержки по часу дня, используя "ggplot2".
Этот код должен произвести линейный график, показывающий, как меняется среднее время задержки в течение дня.
Обратите внимание, что здесь мы рассматриваем только задержки вылетов (dep_delay), но вы можете изменить код, чтобы учитывать задержки прибытия (arr_delay). Также учтите, что этот анализ относится только к набору данных "flights" в "nycflights13" и может не обобщаться на другие наборы данных или временные периоды.
какой день недели выбрали бы вы для вылета, чтобы минимизировать время задержки?
Для пакета nycflightsl3:
flights соединяется с planes посредством переменной tailnum;
flights соединяется с airl ines посредством переменной carrier;
flights соединяется с airports посредством двух переменных, origin и dest;
flights соединяется с weather посредством переменной origin (местоположение), а также переменных year, month, day и hour (время).
Добавьте координаты местоположения аэропорта вылета и аэропорта назначения (т.е. переменные lat и Ion) в таблицу flights.
> library(nycflights13)
>
> # Сначала соединим таблицу flights с таблицей airports, чтобы получить координаты местоположения аэропортов.
> flights_airports <- merge(flights, airports, by.x = "origin", by.y = "faa")
> flights_airports <- merge(flights_airports, airports, by.x = "dest", by.y = "faa", suffixes = c(".origin", ".dest"))
>
> # Затем выберем только нужные столбцы с координатами местоположения аэропортов.
> flights_airports <- flights_airports[, c("year", "month", "day", "dep_time", "sched_dep_time", "arr_time", "sched_arr_time", "carrier", "flight", "tailnum", "origin", "dest", "air_time", "distance", "hour", "minute", "time_hour", "lat.origin", "lon.origin", "lat.dest", "lon.dest")]
>
> # И, наконец, соединим таблицу flights с таблицей flights_airports.
> flights <- merge(flights, flights_airports)
существует ли связь между сроком эксплуатации самолета и его задержками?
при каких погодных условиях возрастает вероятность задержек?
что случилось 13 июня 2013 года?
что означает отсутствие бортового номера (tailnum) для авиарейса (flight)? Что общего имеют бортовые номера, для которых отсутствует соответствующая запись в таблице planes?
отфильтруйте таблицу flights, чтобы отобразить только авиарейсы, которые выполняются самолетами, совершившими не менее 100 полетов.
объедините fueleconomy:; vehicles и fueleconomy::common, чтобы найти лишь записи, соответствующие самым обычным моделям.
найдите 48 часов (на протяжении всего года), характеризующиеся наихудшим показателем задержки рейса. Найдите перекрестные данные в таблице weather. Замечаете ли вы какую-либо закономерность?
можно было бы ожидать, что между самолетами и компаниями существуют неявные отношения, поскольку полет каждого самолета совершается одной авиакомпанией. Подтвердите или опровергните эту гипотезу.
Напишите функцию, выводящую одно из приветствий “Доброе утро!” “Добрый день!” или “Добрый вечер!” в зависимости от времени суток. (используйте аргумент, задающий время, который по умолчанию принимает значение lubridate::now().)
Реализуйте функцию fizzbuzz(). Ее единственным аргументом является число. Если число делится на три, функция возвращает строку “fizz”. Если число делится на пять, функция возвращает строку “buzz”. Если же число делится и на три, и на пять, функция возвращает строку “fizzbuzz”. В любом другом случае возвращается само число.
Создайте функции, которые принимают вектор в качестве входного значения, и возвращают:
последнее значение;
элементы, занимающие четные позиции;