НачатьНачать бесплатно

Вычисление среднемесячной температуры

Команда 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(___)
Редактировать и запускать код