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

Вычитание дат

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

today <- as.Date("2017-01-02")
tomorrow <- as.Date("2017-01-03")
one_year_away <- as.Date("2018-01-02")

tomorrow - today
Time difference of 1 days

one_year_away - today
Time difference of 365 days

Того же результата можно достичь с помощью функции difftime(), которая вычисляет временной интервал.

difftime(tomorrow, today)
Time difference of 1 days

# С дополнительными параметрами!
difftime(tomorrow, today, units = "secs")
Time difference of 86400 secs

Это упражнение является частью курса

Средний уровень R для финансов

Посмотреть курс

Инструкции к упражнению

  • Вектор dates уже создан для вас.
  • С помощью вычитания можно убедиться, что 1 января 1970 года — это первая дата, от которой ведёт отсчёт R. Сначала создайте переменную origin, содержащую дату "1970-01-01".
  • Теперь примените as.numeric() к dates, чтобы узнать, сколько дней прошло с 1 января 1970 года.
  • Наконец, вычтите origin из dates, чтобы проверить результат! (Обратите внимание, как здесь используется переработка элементов!)

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Dates
dates <- as.Date(c("2017-01-01", "2017-01-02", "2017-01-03"))

# Create the origin
origin <- ___

# Use as.numeric() on dates
___

# Find the difference between dates and origin
___
Редактировать и запускать код