%union% {plyranges} | R Documentation |
Row-wise set operations on Ranges objects
x %union% y x %intersect% y x %setdiff% y between(x, y) span(x, y)
x, y |
Ranges objects |
Each of these functions acts on the rows between pairs of
Ranges object.
The function %union%()
.
will return the entire range between two ranges objects assuming there
are no gaps, if you would like to force gaps use span()
instead.
The function %intersect%()
will create a new ranges object
with a hit column indicating whether or not the two ranges intersect.
The function %setdiff%()
will return the ranges for each
row in x that are not in the corresponding row of y.
The function between()
will return the gaps between
two ranges.
A Ranges object
[IRanges::punion()][IRanges::pintersect()][IRanges::pgap()][IRanges::psetdiff()]
x <- as_iranges(data.frame(start = 1:10, width = 5)) # stretch x by 3 on the right y <- stretch(anchor_start(x), 3) # take the rowwise union x %union% y # take the rowwise intersection x %intersect% y # asymetric difference y %setdiff% x x %setdiff% y # if there are gaps between the rows of each range use span y <- as_iranges(data.frame(start = c(20:15, 2:5), width = c(10:15,1:4))) # fill in the gaps and take the rowwise union span(x,y) # find the gaps between(x,y)