as.lim: Create / Check / Manipulate lim objects

View source: R/as.lim.R

as.limR Documentation

Create / Check / Manipulate lim objects

Description

Functions to create and check 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.

Usage

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
)

Arguments

lim

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. "[]").

l

the left interval limits (numerical vector of length n).

r

the right interval limits (numerical vector of length n).

id

the interval IDs (numerical or character vector of length n, the default is 1 for each interval). They can be similar for different intervals.

b

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.

check.lim

whether to check if the object is a lim object.

decreasingly

whether the order to check for or to set is decreasing.

dependently

whether the intervals themselves should be ordered relatively to the other.

Details

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)

See Also

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 lines: trace.lim and plot_lim

To plot interval data as rectangles: infobar

Examples

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("[[", "]]", "[[", "]]", "[["))


StratigrapheR documentation built on July 9, 2023, 6:02 p.m.