Compute the overlapping interval between two Interval
objects
Source: R/int_overlap.R
int_overlap.Rd
int_overlap()
computes the overlapping interval between two
Interval
objects.
See the Details section for more information.
Arguments
- int_1, int_2
Interval
vectors. If they have a length of `1“, they will be recycled to the length of the longest.
Value
An Interval
vector with the overlapping
period between int_1
and int_2
.
Details
The overlapping interval is the time span where both intervals intersect.
If the intervals do not overlap, the function returns an NA-NA
Interval
.
The illustration below demonstrates the concept:
See also
Other Interval functions:
int_duration()
,
int_mean()
Examples
int_1 <- lubridate::interval(
start = lubridate::as_datetime("2020-01-01 00:00:00"),
end = lubridate::as_datetime("2021-01-01 00:00:00"),
)
int_2 <- lubridate::interval(
start = lubridate::as_datetime("2020-05-01 00:00:00"),
end = lubridate::as_datetime("2021-05-01 00:00:00"),
)
int_3 <- lubridate::interval(
start = lubridate::as_datetime("2021-01-01 00:00:00"),
end = lubridate::as_datetime("2025-01-01 00:00:00"),
)
int_overlap(int_1, int_2)
#> [1] 2020-05-01 UTC--2021-01-01 UTC
#> [1] 2020-05-01 UTC--2021-01-01 UTC # Expected
int_overlap(int_1, c(int_2, int_3))
#> [1] 2020-05-01 UTC--2021-01-01 UTC 2021-01-01 UTC--2021-01-01 UTC
#> [1] 2020-05-01 UTC--2021-01-01 UTC # Expected
#> [2] 2021-01-01 UTC--2021-01-01 UTC