Comparar intervalos y fechas-hora
Una tarea común con los intervalos es preguntar si un momento concreto está dentro del intervalo o si se solapa con otro intervalo.
El operador %within% comprueba si la fecha-hora (o el intervalo) del lado izquierdo está dentro del intervalo del lado derecho. Por ejemplo, si y2001 es el intervalo que cubre el año 2001,
y2001 <- ymd("2001-01-01") %--% ymd("2001-12-31")
Entonces ymd("2001-03-30") %within% y2001 devolverá TRUE y ymd("2002-03-30") %within% y2001 devolverá FALSE.
int_overlaps() realiza una comprobación similar, pero devolverá true si dos intervalos se solapan en absoluto.
Practica para averiguar qué monarcas vieron el cometa Halley alrededor de 1066.
Este ejercicio forma parte del curso
Trabajar con fechas y horas en R
Instrucciones del ejercicio
Hemos puesto halleys, un conjunto de datos que describe las apariciones del cometa Halley, en tu espacio de trabajo.
- Imprime
halleyspara examinar los datos.perihelion_datees la fecha en la que el cometa está más cerca del Sol.start_dateyend_dateson el rango de fechas en que el cometa es visible desde la Tierra. - Crea una nueva columna,
visible, que sea un intervalo desdestart_datehastaend_date. - Trabajarás con una aparición: extrae la fila 14 de
halleys. - Filtra
monarchsa aquellos dondehalleys_1066$perihelion_dateesté dentro dereign. - Filtra
monarchsa aquellos dondehalleys_1066$visiblese solape conreign.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)