Learn R Programming

tilingArray (version 1.50.0)

segment: 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.

Value

An object of class segmentation.

Details

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

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

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

Run the code above in your browser using DataLab