nearest-methods: Finding the nearest range/position neighbor

Description Usage Arguments Details Value Author(s) See Also Examples

Description

The nearest, precede, follow, distance and distanceToNearest methods for IntegerRanges objects and subclasses.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
## S4 method for signature 'IntegerRanges,IntegerRanges_OR_missing'
nearest(x, subject, select = c("arbitrary", "all"))

## S4 method for signature 'IntegerRanges,IntegerRanges_OR_missing'
precede(x, subject, select = c("first", "all"))

## S4 method for signature 'IntegerRanges,IntegerRanges_OR_missing'
follow(x, subject, select = c("last", "all"))

## S4 method for signature 'IntegerRanges,IntegerRanges_OR_missing'
distanceToNearest(x, subject, select = c("arbitrary", "all"))

## S4 method for signature 'IntegerRanges,IntegerRanges'
distance(x, y)
## S4 method for signature 'Pairs,missing'
distance(x, y)

Arguments

x

The query IntegerRanges object, or (for distance()) a Pairs containing both the query (first) and subject (second).

subject

The subject IntegerRanges object, within which the nearest neighbors are found. Can be missing, in which case x is also the subject.

select

Logic for handling ties. By default, all the methods select a single interval (arbitrary for nearest,the first by order in subject for precede, and the last for follow). To get all matchings, as a Hits object, use “all”.

y

For the distance method, a IntegerRanges object. Cannot be missing. If x and y are not the same length, the shortest will be recycled to match the length of the longest.

hits

The hits between x and subject

...

Additional arguments for methods

Details

Value

For nearest, precede and follow, an integer vector of indices in subject, or a Hits if select="all".

For distanceToNearest, a Hits object with an elementMetadata column of the distance between the pair. Access distance with mcols accessor.

For distance, an integer vector of distances between the ranges in x and y.

For selectNearest, a Hits object, sorted by query.

Author(s)

M. Lawrence

See Also

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  ## ------------------------------------------
  ## precede() and follow()
  ## ------------------------------------------
  query <- IRanges(c(1, 3, 9), c(3, 7, 10))
  subject <- IRanges(c(3, 2, 10), c(3, 13, 12))
 
  precede(query, subject)     # c(3L, 3L, NA)
  precede(IRanges(), subject) # integer()
  precede(query, IRanges())   # rep(NA_integer_, 3)
  precede(query)              # c(3L, 3L, NA)
 
  follow(query, subject)      # c(NA, NA, 1L)
  follow(IRanges(), subject)  # integer()
  follow(query, IRanges())    # rep(NA_integer_, 3)
  follow(query)               # c(NA, NA, 2L)

  ## ------------------------------------------
  ## nearest()
  ## ------------------------------------------
  query <- IRanges(c(1, 3, 9), c(2, 7, 10))
  subject <- IRanges(c(3, 5, 12), c(3, 6, 12))

  nearest(query, subject) # c(1L, 1L, 3L)
  nearest(query)          # c(2L, 1L, 2L)

  ## ------------------------------------------
  ## distance()
  ## ------------------------------------------
  ## adjacent
  distance(IRanges(1,5), IRanges(6,10)) # 0L
  ## overlap
  distance(IRanges(1,5), IRanges(3,7))  # 0L
  ## zero-width
  sapply(-3:3, function(i) distance(shift(IRanges(4,3), i), IRanges(4,3))) 

IRanges documentation built on Dec. 14, 2020, 2 a.m.