Вычисление среднемесячной температуры
Команда to.period() удобна во многих случаях, однако для наших целей выбор одной строки как представителя всего месяца может оказаться недостаточным.
Лучше вычислить среднее значение температуры за каждый месяц. Для этого потребуется вручную рассчитать месячное среднее с помощью split() и lapply(), а затем создать новый объект xts с помощью as.xts(). Звучит непросто, но у вас уже есть всё необходимое для этого!
Объект xts из предыдущего упражнения, temps_xts_2, уже загружен в рабочее пространство. Также загружен объект index, содержащий вектор дат для первого дня каждого месяца, охваченного данными.
Это упражнение является частью курса
Практический пример: анализ городских временных рядов в R
Инструкции к упражнению
- С помощью
split()разбейте столбецmeanобъектаtemps_xts_2на месячные списки. Обязательно укажите"months"в качестве периода (аргументf). - С помощью
lapply()вычислите «среднее из средних» — то есть среднюю температуру за каждый месяц. - С помощью
as.xts()создайте новый объект xts, содержащий среднюю месячную температуру в Бостоне за период с 2010 по 2015 год. Для этого объедините данныеmean_of_meansс объектомindex. - Наконец, убедитесь, что новый объект
temps_monthlyсовпадает сflights_xtsпо продолжительности и периодичности.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Split temps_xts_2 into separate lists per month
monthly_split <- split(___$___ , f = "___")
# Use lapply to generate the monthly mean of mean temperatures
mean_of_means <- lapply(___, FUN = ___)
# Use as.xts to generate an xts object of average monthly temperature data
temps_monthly <- as.xts(as.numeric(___), order.by = ___)
# Compare the periodicity and duration of your new temps_monthly and flights_xts
periodicity(___)
periodicity(___)