Odejmowanie dat
Podobnie jak w przypadku liczb, na datach można wykonywać działania arytmetyczne. W szczególności różnicę między dwiema datami (w dniach) obliczysz za pomocą odejmowania:
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
Alternatywnie możesz użyć funkcji difftime(), aby wyznaczyć przedział czasu.
difftime(tomorrow, today)
Time difference of 1 days
# With some extra options!
difftime(tomorrow, today, units = "secs")
Time difference of 86400 secs
To ćwiczenie jest częścią kursu
R dla finansów – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Wektor
dateszostał już dla ciebie przygotowany. - Użyj odejmowania, aby potwierdzić, że 1 stycznia 1970 roku to pierwsza data, od której R rozpoczyna odliczanie. Najpierw utwórz zmienną o nazwie
origin, przechowującą datę"1970-01-01". - Teraz wywołaj
as.numeric()na wektorzedates, aby sprawdzić, ile dni minęło od 1 stycznia 1970 roku. - Na koniec odejmij
originoddates, aby potwierdzić wyniki! (Zwróć uwagę na zastosowanie mechanizmu recyclingu!)
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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
___