phangorn (version 2.5.5)

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. computes a contrast matrix if the method is "rooted".

Usage

designTree(tree, method = "unrooted", sparse = FALSE, ...)

nnls.tree(dm, tree, rooted = FALSE, trace = 1, weight = NULL, balanced = FALSE)

nnls.phylo(x, dm, rooted = FALSE, trace = 0, ...)

nnls.splits(x, dm, trace = 0)

nnls.networx(x, dm)

designSplits(x, splits = "all", ...)

Arguments

tree

an object of class phylo

method

design matrix for an "unrooted" or "rooted" ultrametric tree.

sparse

return a sparse design matrix.

further arguments, passed to other methods.

dm

a distance matrix.

rooted

compute a "rooted" or "unrooted" tree.

trace

defines how much information is printed during optimisation.

weight

vector of weights to be used in the fitting process. Weighted least squares is used with weights w, i.e., sum(w * e^2) is minimized.

balanced

use weights as in balanced fastME

x

number of taxa.

splits

one of "all", "star".

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
# NOT RUN {
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 DataCamp Workspace