R: Phylogenetic Network

splitsNetwork {phangorn} | R Documentation

## Phylogenetic Network

### Description

`splitsNetwork` estimates weights for a splits graph from a distance matrix.

### Usage

    splitsNetwork(dm, splits = NULL, gamma = 0.1, lambda = 1e-06,
      weight = NULL)

### Arguments

`dm` | A distance matrix.
`splits` | a splits object, containing all splits to consider, otherwise all possible splits are used
`gamma` | penalty value for the L1 constraint.
`lambda` | penalty value for the L2 constraint.
`weight` | a vector of weights.

### Details

`splitsNetwork` fits non-negative least-squares phylogenetic networks using L1 (LASSO), L2(ridge regression) constraints. The function minimizes the penalized least squares

beta = sum(dm - X*beta)^2 + lambda |beta|^2_2

with respect to

|beta|_1 = gamma, beta >= 0

where X is a design matrix constructed with `designSplits`. External edges are fitted without L1 or L2 constraints.

### Value

`splitsNetwork` returns a splits object with a matrix added. The first column contains the indices of the splits, the second column an unconstrained fit without penalty terms and the third column the constrained fit.

### Author(s)

Klaus Schliep klaus.schliep@gmail.com

### References

Efron, Hastie, Johnstone and Tibshirani (2004) Least Angle Regression (with discussion) Annals of Statistics 32(2), 407–499

K. P. Schliep (2009). Some Applications of statistical phylogenetics (PhD Thesis)

### See Also

`distanceHadamard`, `designTree` `consensusNet`, `plot.networx`

### Examples

    data(yeast)
    dm <- dist.ml(yeast)
    fit <- splitsNetwork(dm)
    net <- as.networx(fit)
    plot(net, "2D")
    write.nexus.splits(fit)

[Package phangorn version 2.3.1 Index]