Aralıkları ve tarih-saatleri karşılaştırma
Aralıklarla ilgili yaygın bir görev, belirli bir zamanın aralığın içinde olup olmadığını ya da başka bir aralıkla örtüşüp örtüşmediğini sormaktır.
%within% operatörü, sol taraftaki tarih-saatin (veya aralığın) sağ taraftaki aralığın içinde olup olmadığını test eder. Örneğin, y2001 2001 yılını kapsayan bir aralıksa,
y2001 <- ymd("2001-01-01") %--% ymd("2001-12-31")
O zaman ymd("2001-03-30") %within% y2001 TRUE döndürür ve ymd("2002-03-30") %within% y2001 FALSE döndürür.
int_overlaps() benzer bir test yapar, ancak iki aralık herhangi bir şekilde çakışıyorsa true döndürür.
1066 civarında Halley kuyruklu yıldızını hangi hükümdarların gördüğünü bulmak için pratik yap.
Bu egzersiz, kursun bir parçasıdır
R'de Tarihler ve Zamanlarla Çalışma
Egzersiz talimatları
Çalışma alanına Halley kuyruklu yıldızının görünümlerini anlatan halleys veri setini koyduk.
- Tarihleri incelemek için
halleys'i yazdır.perihelion_date, Kuyruklu Yıldız'ın Güneş'e en yakın olduğu tarihtir.start_dateveend_date, kuyruklu yıldızın Dünya'dan görülebildiği tarih aralığıdır. start_date'denend_date'e uzanan bir aralık olanvisibleadlı yeni bir sütun oluştur.- Tek bir görünümle çalışacaksın;
halleys'in 14. satırını çıkar. monarchs'ı,halleys_1066$perihelion_datedeğerininreigniçinde olduğu hükümdarlara filtrele.monarchs'ı,halleys_1066$visibleilereignçakışan hükümdarlara filtrele.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Print halleys
halleys
# New column for interval from start to end date
halleys <- halleys %>%
mutate(visible = ___)
# The visitation of 1066
halleys_1066 <- halleys[__, ]
# Monarchs in power on perihelion date
monarchs %>%
filter(___) %>%
select(name, from, to, dominion)
# Monarchs whose reign overlaps visible time
monarchs %>%
filter(___) %>%
select(name, from, to, dominion)