1 ## collapsed.intervals.R (2002-09-12)
3 ## Collapsed coalescent intervals (e.g. for the skyline plot)
5 ## Copyright 2002 Korbinian Strimmer
7 ## This file is part of the R-package `ape'.
8 ## See the file ../COPYING for licensing issues.
10 # construct collapsed intervals from coalescent intervals
11 collapsed.intervals <- function(ci, epsilon=0.0)
13 if (class(ci) != "coalescentIntervals")
14 stop("object \"ci\" is not of class \"coalescentIntervals\"")
16 sz <- ci$interval.length
23 # starting from tips collapes intervals
24 # until total size is >= epsilon
36 # if last interval is smaller than epsilon merge
37 # with second last interval
38 lastInterval <- idx==p
39 if ( sum(sz[lastInterval]) < epsilon )
42 idx[lastInterval] <- p
47 interval.length=ci$interval.length,
48 collapsed.interval=idx, # collapsed intervals (via reference)
49 interval.count=ci$interval.count,
50 collapsed.interval.count = idx[[ci$interval.count]],
51 total.depth =ci$total.depth,
54 class(obj) <- "collapsedIntervals"