within-interval: Does a date (or interval) fall within an interval?

Description Usage Arguments Value Examples

Description

Check whether a lies within the interval b, inclusive of the endpoints.

Usage

1
a %within% b

Arguments

a

An interval or date-time object.

b

Either an interval vector, or a list of intervals.

If b is an interval it is recycled to the same length as a. If b is a list of intervals, a is checked if it falls within any of the intervals, i.e. a %within% list(int1, int2) is equivalent to a %within% int1 | a %within% int2.

Value

A logical vector.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
int <- interval(ymd("2001-01-01"), ymd("2002-01-01"))
int2 <- interval(ymd("2001-06-01"), ymd("2002-01-01"))

ymd("2001-05-03") %within% int # TRUE
int2 %within% int # TRUE
ymd("1999-01-01") %within% int # FALSE

## recycling
dates <- ymd(c("2014-12-20", "2014-12-30", "2015-01-01", "2015-01-03"))
blackouts<- c(interval(ymd("2014-12-30"), ymd("2014-12-31")),
              interval(ymd("2014-12-30"), ymd("2015-01-03")))
dates %within% blackouts

## within ANY of the intervals of a list
dates <- ymd(c("2014-12-20", "2014-12-30", "2015-01-01", "2015-01-03"))
blackouts<- list(interval(ymd("2014-12-30"), ymd("2014-12-31")),
                 interval(ymd("2014-12-30"), ymd("2015-01-03")))
dates %within% blackouts

Example output

Attaching package: 'lubridate'

The following object is masked from 'package:base':

    date

[1] TRUE
[1] TRUE
[1] FALSE
[1] FALSE  TRUE FALSE  TRUE
[1] FALSE  TRUE  TRUE  TRUE

lubridate documentation built on Feb. 26, 2021, 5:09 p.m.