Allen Relation Between Definite Intervals
Usage
allen_relation(x, y, ...)
# S4 method for numeric,numeric
allen_relation(x, y)
# S4 method for ANY,missing
allen_relation(x)
Arguments
- x, y
A
numeric
vector giving the lower and upper boundaries of the time intervals, respectively. Ify
is missing, an attempt is made to interpretx
in a suitable way (seegrDevices::xy.coords()
).- ...
Currently not used.
Value
A character
matrix specifying the Allen relations.
Details
Relation | Converse | ||
precedes | (p) | (P) | preceded by |
meets | (m) | (M) | met by |
overlaps | (o) | (O) | overlapped by |
finished by | (F) | (f) | finishes |
contains | (D) | (d) | during |
starts | (s) | (S) | started by |
equals | (e) |
References
Allen, J. F. (1983). Maintaining Knowledge about Temporal Intervals. Communications of the ACM, 26(11): 832-843. doi:10.1145/182.358434 .
Alspaugh, T. (2019). Allen's Interval Algebra. URL: https://thomasalspaugh.org/pub/fnd/allen.html.
See also
Other Allen's intervals:
allen_complement()
,
allen_composition()
,
allen_converse()
,
allen_intersect()
,
allen_union()
Examples
## Data from Husi 2022
data("loire", package = "folio")
loire <- subset(loire, area == "Anjou")
## Basic relations
allen_relation(loire$lower, loire$upper)
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
#> [1,] NA "o" "p" "p" "p" "O" "p" "p" "p" "p" "p" "p" "p"
#> [2,] "O" NA "p" "p" "p" "M" "p" "p" "p" "p" "p" "p" "p"
#> [3,] "P" "P" NA "o" "m" "P" "d" "s" "p" "p" "s" "p" "p"
#> [4,] "P" "P" "O" NA "o" "P" "d" "d" "p" "p" "d" "p" "p"
#> [5,] "P" "P" "M" "O" NA "P" "O" "f" "m" "p" "O" "o" "p"
#> [6,] "o" "m" "p" "p" "p" NA "p" "p" "p" "p" "p" "p" "p"
#> [7,] "P" "P" "D" "D" "o" "P" NA "o" "p" "p" "F" "m" "p"
#> [8,] "P" "P" "S" "D" "F" "P" "O" NA "m" "p" "S" "o" "p"
#> [9,] "P" "P" "P" "P" "M" "P" "P" "M" NA "o" "P" "O" "o"
#> [10,] "P" "P" "P" "P" "P" "P" "P" "P" "O" NA "P" "M" "e"
#> [11,] "P" "P" "S" "D" "o" "P" "f" "s" "p" "p" NA "m" "p"
#> [12,] "P" "P" "P" "P" "O" "P" "M" "O" "o" "m" "M" NA "m"
#> [13,] "P" "P" "P" "P" "P" "P" "P" "P" "O" "e" "P" "M" NA
#> [14,] "P" "P" "P" "M" "f" "P" "O" "f" "m" "p" "O" "o" "p"
#> [15,] "P" "P" "P" "P" "M" "P" "P" "M" "S" "o" "P" "O" "o"
#> [,14] [,15]
#> [1,] "p" "p"
#> [2,] "p" "p"
#> [3,] "p" "p"
#> [4,] "m" "p"
#> [5,] "F" "m"
#> [6,] "p" "p"
#> [7,] "o" "p"
#> [8,] "F" "m"
#> [9,] "M" "s"
#> [10,] "P" "O"
#> [11,] "o" "p"
#> [12,] "O" "o"
#> [13,] "P" "O"
#> [14,] NA "m"
#> [15,] "M" NA
## Complement
(comp <- allen_complement("F")) # "pmoDseSdfOMP"
#> [1] "pmoDseSdfOMP"
## Converse
(conv <- allen_converse(comp)) # "pmoFDseSdOMP"
#> [1] "pmoFDseSdOMP"
## Composition
allen_composition("oFD", "oFDseS") # "pmoFD"
#> [1] "pmoFD"
## Intersection
allen_intersect("pFsSf", "pmoFD") # "pF"
#> [1] "pF"
# Union
allen_union("pFsSf", "pmoFD") # "pmoFDsSf"
#> [1] "pmoFDsSf"