segment {tilingArray} | R Documentation

## Fit a piecewise constant curve: segmentation by dynamic programming

### Description

The function fits a piecewise constant curve to one or multiple sequences of measurements, using a least squares cost function and an O(n) dynamic programming algorithm (see references).

### Usage

    segment(y, maxseg, maxk)

### Arguments

`y` | Numeric matrix. Rows correspond to the `x`-variable, columns to replicate measurements at the same value of `x`. Breakpoints are fitted along the `x`-axis. For example, the `x`-variable can be genomic coordinates or time. The segmentation will be along the rows of `y`.
`maxseg` | integer of length 1, maximum number of segments (= 1 + maximum number of change points).
`maxk` | integer of length 1, maximum length of a single segment.

### Details

The complexity of the algorithm is `length(x)*maxk` in memory and `length(x)*maxk*maxseg` in time.

### Value

An object of class `segmentation`.

### Author(s)

W. Huber huber@ebi.ac.uk

### References

[1] Transcript mapping with high-density oligonucleotide tiling arrays. Huber W, Toedling J, Steinmetz, L. Bioinformatics 22, 1963-1970 (2006).

[2] A statistical approach for CGH microarray data analysis. Franck Picard, Stephane Robin, Marc Lavielle, Christian Vaisse, Gilles Celeux, Jean-Jacques Daudin. BMC Bioinformatics. 2005 Feb 11; 6:27.

### Examples

      x = rep( sin((0:4)/2*pi), each=3) + rnorm(3*5, sd=0.1)
      res = segment(x, maxseg=6, maxk=15)

[Package tilingArray version 1.22.0 Index]