timeMatch | R Documentation |
match two (time) sequences, where each can be intervals or instances.
timeMatch(x, y, returnList = FALSE, ...)
x |
ordered sequence, e.g. of time stamps |
y |
ordered sequence, e.g. of time stamps |
returnList |
boolean; should a list be returned with all matches (TRUE), or a vector with single matches (FALSE)? |
... |
|
When x
and y
are of class xts
or POSIXct
,
end.x
and end.y
need to specify endpoint of intervals.
In case x
and y
are both not intervals, matching is
done on equality of values, using match.
If x
represents intervals, then the first interval is from
x[1]
to x[2]
, with x[1]
included but x[2]
not (left-closed, right-open). In case of zero-width intervals
(e.g. x[1]==x[2]
), nothing will match and a warning is raised.
Package intervals
is used to check overlap of intervals,
using, interval_overlap.
if returnList = FALSE
: integer vector of length
length(x)
with indexes of y
matching to each of
the elements of x
, or NA if there is no match. See section
details for definition of match.
if returnList = TRUE
: list of length length(x)
,
with each list element an integer vector with all the indexes
of y
matching to that element of x
.
Edzer Pebesma
https://www.jstatsoft.org/v51/i07/
over, timeIsInterval, interval_overlap
t0 = as.POSIXct("1999-10-10")
x = t0 +c(0.5+c(2,2.1,4),5)*3600
y = t0 + 1:5 * 3600
x
y
#timeIsInterval(x) = FALSE
#timeIsInterval(y) = FALSE
timeMatch(x,y, returnList = FALSE)
timeMatch(x,y, returnList = TRUE)
#timeIsInterval(y) = TRUE
timeMatch(x,y, returnList = FALSE, end.y = delta(y))
timeMatch(x,y, returnList = TRUE, end.y = delta(y))
#timeIsInterval(x) = TRUE
timeMatch(x,y, returnList = FALSE, end.x = delta(x), end.y = delta(y))
timeMatch(x,y, returnList = TRUE, end.x = delta(x), end.y = delta(y))
#timeIsInterval(y) = FALSE
timeMatch(x,y, returnList = FALSE, end.x = delta(x))
timeMatch(x,y, returnList = TRUE, end.x = delta(x))
x = as.POSIXct("2000-01-01") + (0:9) * 3600
y = x + 1
y[1] = y[2]
x
y
TI = function(x, ti) {
timeIsInterval(x) = ti
x
}
#timeMatch(TI(y,FALSE),TI(y,FALSE))
#timeMatch(TI(y,TRUE), TI(y,TRUE))
#
#timeMatch(TI(x,FALSE),TI(y,FALSE))
#timeMatch(TI(x,FALSE),TI(y,TRUE))
#timeMatch(TI(x,TRUE), TI(y,FALSE))
#timeMatch(TI(x,TRUE), TI(y,TRUE))
#
#timeMatch(TI(x,FALSE),TI(y,FALSE), returnList = TRUE)
#timeMatch(TI(x,FALSE),TI(y,TRUE), returnList = TRUE)
#timeMatch(TI(x,TRUE), TI(y,FALSE), returnList = TRUE)
#timeMatch(TI(x,TRUE), TI(y,TRUE), returnList = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.