Kom igångKom igång gratis

Jämföra intervall och datum/tider

En vanlig uppgift med intervall är att kontrollera om en viss tidpunkt befinner sig inom ett intervall, eller om det överlappar med ett annat intervall.

Operatorn %within% testar om datum/tiden (eller intervallet) på vänster sida befinner sig inom intervallet på höger sida. Om y2001 till exempel är intervallet som täcker år 2001,

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

kommer ymd("2001-03-30") %within% y2001 att returnera TRUE och ymd("2002-03-30") %within% y2001 att returnera FALSE.

int_overlaps() utför ett liknande test, men returnerar true om två intervall överlappar på något sätt.

Öva på att ta reda på vilka monarker som såg Halleys komet omkring år 1066.

Den här övningen är en del av kursen

Arbeta med datum och tider i R

Visa kurs

Övningsinstruktioner

Vi har lagt till halleys, ett dataset som beskriver Halleys komets framträdanden, i din arbetsyta.

  • Skriv ut halleys för att granska datan. perihelion_date är det datum då kometen är närmast solen. start_date och end_date är det datumintervall då kometen är synlig från jorden.
  • Skapa en ny kolumn, visible, som är ett intervall från start_date till end_date.
  • Du kommer att arbeta med ett framträdande – extrahera rad 14 från halleys.
  • Filtrera monarchs till de rader där halleys_1066$perihelion_date befinner sig inom reign.
  • Filtrera monarchs till de rader där halleys_1066$visible överlappar reign.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod