1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで扱う日付と時刻

Connected

演習

インターバルと日時の比較

インターバルでよく行う作業は、ある時刻がそのインターバル内にあるか、別のインターバルと重なっているかを調べることです。

演算子%within%は、左辺の日時(またはインターバル)が右辺のインターバル内に含まれるかどうかを判定します。たとえば、y2001が2001年を表すインターバルだとします。

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

このとき、ymd("2001-03-30") %within% y2001はTRUEを、ymd("2002-03-30") %within% y2001はFALSEを返します。

int_overlaps()は似たテストを行いますが、2つのインターバルが少しでも重なっていればTRUEを返します。

1066年ごろのハレー彗星を、どの君主が見た可能性があるかを練習して確かめましょう。

指示

100 XP

ハレー彗星の出現を記述したデータセットhalleysをワークスペースに用意しました。

  • halleysを表示して日付を確認します。perihelion_dateは彗星が太陽に最も近づく日付です。start_dateとend_dateは地球から彗星が見える期間の範囲です。
  • start_dateからend_dateまでのインターバルを表す新しい列visibleを作成します。
  • ある一度の出現に注目するため、halleysの14行目を抽出します。
  • halleys_1066$perihelion_dateがreignの中にある君主だけにmonarchsをフィルタします。
  • halleys_1066$visibleがreignと重なる君主だけにmonarchsをフィルタします。