R: Compute a design matrix or non-negative LS

designTree {phangorn} | R Documentation

## 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)

    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.
`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.

### Author(s)

Klaus Schliep klaus.schliep@gmail.com

### See Also

`fastme`, `distanceHadamard`, `splitsNetwork`, `upgma`

### Examples

    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)

[Package phangorn version 2.3.1 Index]