Creates and checks limits of intervals (what we define here as a 'lim' object), with control of specified properties. Basically we define an interval by its left and right boundaries, by an id and by a rule of boundary inclusion.
as.lim(lim = NULL, l = NULL, r = NULL, id = 1L, b = "[]")is.lim(lim = NULL, l = NULL, r = NULL, id = 1L, b = "[]")
are.lim.nonunique(lim = NULL, l = NULL, r = NULL, check.lim = TRUE)
are.lim.nonadjacent(lim = NULL, l = NULL, r = NULL, b = "[]",
check.lim = TRUE)
are.lim.distinct(lim = NULL, l = NULL, r = NULL, check.lim = TRUE)
are.lim.ordered(lim = NULL, l = NULL, r = NULL, id = 1L,
decreasingly = FALSE, dependently = FALSE, check.lim = TRUE)
order.lim(lim = NULL, l = NULL, r = NULL, id = 1L, b = "[]",
decreasingly = FALSE)
a list of n left (1st element) and n right (2ndt element) interval limits, of n interval IDs, and of n interval boundary rules (e.g. "[]")
the left interval limits (numerical vector of length n)
the right interval limits (numerical vector of length n)
the interval IDs (numerical or character vector of length n, the default is 1 for each interval). They can be similar for different intervals.
the interval boundaries rules: "[]" (or "closed") to include both boundaries points, "][" (or "()" and "open") to exclude both boundary points, "[[" (or "[)","right-open" and"left-closed") to include only the left boundary point, and "]]" (or "(]", "left-open", "right-closed") to include only the right boundary point. The notation is simplified to "[]", "[[", "]]" and "][" only.
whether to check if the object is a lim object
whether the order to check for or set for is decreasing
whether the intervals themselves should be ordered relatively to the other
as.lim
: creates a lim object
is.lim
: checks if arguments qualify as a lim object
are.lim.nonunique
: checks if there are no intervals of identical l and
r
are.lim.nonadjacent
: checks if there are no pairs of intervals having
at least one similar boundary
are.lim.distinct
: checks if the intervals are not overlapping
are.lim.ordered
: checks if the intervals are ordered (in l and r, and
if dependently is TRUE, relative to the other intervals of same id)
order.lim
: orders l and r parts of the intervals (use simp.lim
for more advanced ordering)
To find which values are in which interval: in.lim
To simplify intervals by merging overlapping parts: simp.lim
To extract the part outside of intervals: flip.lim
To make intervals with boundaries in between given values:
mid.lim
To discretise intervals: tie.lim
To simplify boundary rules into "[]", "[[", "]]" and "][":
rebound
To plot interval data as rectangles: infobar
# NOT RUN {
example <- as.lim(l = c(0,1,2), r = c(0.5,2.1,2.5), id = "I")
is.lim(lim = example)
are.lim.nonunique(l = c(0,1,2),r = c(0.5,1.5,2.5))
are.lim.nonunique(l = c(0,1,2),r = c(0.5,1.5,2))
are.lim.nonadjacent(l = c(0,1,2),r = c(0.5,1.5,2.5))
are.lim.nonadjacent(l = c(0,1,1.5),r = c(0.5,1.5,2))
are.lim.ordered(l = c(0,1,2),r = c(0.5,1.5,2.5))
are.lim.ordered(l = c(0,1,2.5),r = c(0.5,1.5,2))
are.lim.ordered(l = c(0,1,2),r = c(0.5,1.5,2.5),dependently = TRUE)
are.lim.ordered(l = c(0,2,1),r = c(0.5,2.5,1.5),dependently = TRUE)
are.lim.distinct(l = c(0,1,2),r = c(0.5,1.5,2.5))
are.lim.distinct(l = c(0,1,2),r = c(0.5,3.5,2.5))
order.lim(l = c(0,6,4,6,50), r = c(1,5,6,9,8),
b = c("[[", "]]", "[[", "]]", "[["))
# }
Run the code above in your browser using DataLab