1. Nauka
  2. /
  3. Kursy
  4. /
  5. Praca z datami i czasem w R

Connected

ćwiczenie

Porównywanie przedziałów czasowych i dat

Często spotykanym zadaniem przy pracy z przedziałami czasowymi jest sprawdzenie, czy dany moment mieści się w przedziale albo czy dwa przedziały na siebie nachodzą.

Operator %within% sprawdza, czy data (lub przedział) po lewej stronie znajduje się wewnątrz przedziału po prawej stronie. Na przykład, jeśli y2001 to przedział obejmujący rok 2001,

y2001 <- ymd("2001-01-01") %--% ymd("2001-12-31")

to wyrażenie ymd("2001-03-30") %within% y2001 zwróci TRUE, a ymd("2002-03-30") %within% y2001 zwróci FALSE.

int_overlaps() działa podobnie, ale zwraca TRUE, gdy dwa przedziały w ogóle się nakładają.

Wykorzystaj te narzędzia, aby dowiedzieć się, którzy monarchowie mogli zobaczyć kometę Halleya około 1066 roku.

Instrukcje

100 XP

W twoim środowisku pracy dostępny jest zbiór danych halleys opisujący kolejne pojawienia się komety Halleya.

  • Wyświetl halleys, aby zapoznać się z danymi. perihelion_date to data, w której kometa jest najbliżej Słońca. start_date i end_date wyznaczają zakres dat, w których kometę można obserwować z Ziemi.
  • Utwórz nową kolumnę visible jako przedział czasowy od start_date do end_date.
  • Pracować będziesz z jednym pojawieniem się komety – wyodrębnij 14. wiersz ze zbioru halleys.
  • Przefiltruj monarchs, wybierając tych monarchów, dla których halleys_1066$perihelion_date mieści się w przedziale reign.
  • Przefiltruj monarchs, wybierając tych monarchów, dla których halleys_1066$visible nachodzi na przedział reign.