Fast, optimal, and reproducible weighted univariate
 clustering by dynamic programming. Four problems are solved, including
 univariate k-means (Wang & Song 2011) <doi:10.32614/RJ-2011-015>
 (Song & Zhong 2020) <doi:10.1093/bioinformatics/btaa613>, k-median,
 k-segments, and multi-channel weighted k-means. Dynamic programming
 is used to minimize the sum of (weighted) within-cluster distances
 using respective metrics. Its advantage over heuristic clustering in
 efficiency and accuracy is pronounced when there are many clusters.
 Multi-channel weighted k-means groups multiple univariate
 signals into k clusters. An auxiliary function generates histograms
 adaptive to patterns in data. This package provides a powerful set
 of tools for univariate data analysis with guaranteed optimality,
 efficiency, and reproducibility, useful for peak calling on temporal,
 spatial, and spectral data.

Provides an R wrapper around the program 'spip'
    (<https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1471-8286.2005.00884.x>), a C
    program for the simulation of pedigrees within age-structured populations
    with user-specified life histories.  Also includes a variety
    of functions to parse 'spip' output to compile information about
    related pairs amongst simulated, sampled individuals, to assess
    the feasibility and potential accuracy of close-kin mark-recapture (CKMR).
    Full documentation
    and vignettes are mirrored at <https://eriqande.github.io/CKMRpop/index.html>
    and can be read online there.

Implements 'Markowitz' Critical Line Algorithm ('CLA') for classical
  mean-variance portfolio optimization, see Markowitz (1952) <doi:10.2307/2975974>.
  Care has been taken for correctness in light of previous buggy implementations.

Measures morphological diversity from discrete character data and
    estimates evolutionary tempo on phylogenetic trees. Imports morphological
    data from #NEXUS (Maddison et al. (1997) <doi:10.1093/sysbio/46.4.590>)
    format with read_nexus_matrix(), and writes to both #NEXUS and TNT format 
    (Goloboff et al. (2008) <doi:10.1111/j.1096-0031.2008.00217.x>). Main
    functions are test_rates(), which implements AIC and likelihood
    ratio tests for discrete character rates introduced across Lloyd et al.
    (2012) <doi:10.1111/j.1558-5646.2011.01460.x>, Brusatte et al. (2014)
    <doi:10.1016/j.cub.2014.08.034>, Close et al. (2015)
    <doi:10.1016/j.cub.2015.06.047>, and Lloyd (2016) <doi:10.1111/bij.12746>,
    and MatrixDistances(), which implements multiple discrete character
    distance metrics from Gower (1971) <doi:10.2307/2528823>, Wills (1998)
    <doi:10.1006/bijl.1998.0255>, Lloyd (2016) <doi:10.1111/bij.12746>, and
    Hopkins and St John (2018) <doi:10.1098/rspb.2018.1784>. This also includes
    the GED correction from Lehmann et al. (2019) <doi:10.1111/pala.12430>.
    Multiple functions implement morphospace plots:
    plot_chronophylomorphospace() implements Sakamoto and Ruta (2012)
    <doi:10.1371/journal.pone.0039752>, plot_morphospace() implements Wills et
    al. (1994) <doi:10.1017/S009483730001263X>, plot_changes_on_tree()
    implements Wang and Lloyd (2016) <doi:10.1098/rspb.2016.0214>, and
    plot_morphospace_stack() implements Foote (1993)
    <doi:10.1017/S0094837300015864>. Other functions include
    safe_taxonomic_reduction(), which implements Wilkinson (1995)
    <doi:10.1093/sysbio/44.4.501>, map_dollo_changes() implements
    the Dollo stochastic character mapping of Tarver et al. (2018)
    <doi:10.1093/gbe/evy096>, and estimate_ancestral_states() implements
    the ancestral state options of Lloyd (2018) <doi:10.1111/pala.12380>.