| sw {pegas} | R Documentation |
Sliding Windows
Description
Applies a function over a matrix or a vector using sliding
windows. sw is a generic function with a method for
"DNAbin" matrices.
Usage
sw(x, width, step, ...)
## Default S3 method:
sw(x, width = 100, step = 50, POS = NULL,
FUN = mean, out.of.pos = NA_real_, na.rm = TRUE, L = NULL, ...)
## S3 method for class 'DNAbin'
sw(x, width = 100, step = 50, FUN = GC.content,
rowAverage = FALSE, quiet = TRUE, ...)
## S3 method for class 'sw'
plot(x, type = "l", xlab = "Position", x.scaling = 1,
show.ranges = FALSE, col.ranges = "blue",
lty.ranges = 1, lwd.ranges = 1, ...)
Arguments
x |
a vector or a matrix. |
width |
an integer giving the window width. |
step |
an integer giving the step separating successive windows. |
POS |
a numeric vector giving the positions of the sites. |
FUN |
the function to be applied to the windows. |
rowAverage |
a logical value: if |
out.of.pos |
the values used for the sites which are not in
|
na.rm |
option passed to |
L |
the length of the chromosome (or sequence). If not given,
this is largest value in |
quiet |
a logical value: if |
type |
the type of plotting (see |
xlab |
the label under the x-axis. |
x.scaling |
the scaling of the x-axis. |
show.ranges |
a logical value specifying whether to show the
ranges of the windows with horizontal segments (ignored with a
warning if |
col.ranges, lty.ranges, lwd.ranges |
arguments to modify the
appearance of the above segments (see |
... |
further arguments passed to and from methods. |
Details
FUN should return a single value.
x should be a matrix for the "DNAbin" method, or a
vector for the default one.
For the default method, the vector x is expanded into a vector
of length L (see above on how this value is found) and the
positions which are not in POS are filled with the value given
in out.of.pos. The resulting vector is then analysed with the
function FUN which must have an option na.rm. If the
function you want to use does not have this option, you can use
something like FUN = function(x, na.rm = TRUE)
foo(x[!is.na(x)]), replacing ‘foo’ by the name of your function. You
may also include more control on the handling of missing data.
Value
a matrix or a vector (if rowAverage = TRUE).
Author(s)
Emmanuel Paradis
Examples
data(woodmouse)
sw(woodmouse)
sw(woodmouse, 200, 200)
sw(woodmouse, 200, 200, rowAverage = TRUE)
## to get the proportions of G:
foo <- function(x) base.freq(x)["g"]
sw(woodmouse, 200, 200, FUN = foo, rowAverage = TRUE)
## a simulated example with the default method:
x <- runif(100)
pos <- sort(sample(1e6, 100))
resx <- sw(x, w = 2e4, s = 5e3, POS = pos, L = 1e6)
plot(resx, show.ranges = TRUE, x.scaling = 1e6, xlab = "Position (Mb)")