phangorn (version 2.1.1)

designTree: Compute a design matrix or non-negative LS

Description

nnls.tree estimates the branch length using non-negative least squares given a tree and a distance matrix. designTree and designSplits compute design matrices for the estimation of edge length of (phylogenetic) trees using linear models. For larger trees a sparse design matrix can save a lot of memory.

Usage

designTree(tree, method = "unrooted", sparse=FALSE, ...) designSplits(x, splits = "all", ...) nnls.tree(dm, tree, rooted=FALSE, trace=1) nnls.phylo(x, dm, rooted=FALSE, trace=0) nnls.splits(x, dm, trace = 0) nnls.networx(x, dm)

Arguments

tree
an object of class phylo
method
design matrix for an "unrooted" or "rooted" ultrametric tree.
sparse
return a sparse design matrix.
x
number of taxa.
splits
one of "all", "star".
dm
a distance matrix.
rooted
compute a "rooted" or "unrooted" tree.
trace
defines how much information is printed during optimisation.
...
further arguments, passed to other methods.

Value

nnls.tree return a tree, i.e. an object of class phylo. designTree and designSplits a matrix, possibly sparse.

See Also

fastme, distanceHadamard, splitsNetwork, upgma

Examples

Run this code
example(NJ)
dm <-  as.matrix(dm)
y <- dm[lower.tri(dm)]
X <- designTree(tree)
lm(y~X-1)
# avoids negative edge weights 
tree2 = nnls.tree(dm, tree)

Run the code above in your browser using DataLab