Learn R Programming

mixtree

The mixtree package provides a statistical framework for comparing sets of trees.

Installation

You can install the development version of mixtree from GitHub with:

# install.packages("pak")
pak::pak("CyGei/mixtree")

Quick start

library(mixtree)

# Simulate two chains of transmission trees
chainA <- lapply(1:100, function(i) {
  make_tree(20, R = 2, stochastic = TRUE) |>
    igraph::as_long_data_frame()
})
chainB <- lapply(1:100, function(i) {
  make_tree(20, R = 4, stochastic = TRUE) |>
    igraph::as_long_data_frame()
})

# Compare the two chains
result <- tree_test(chainA, chainB)
print(result)
#> Permutation test for adonis under reduced model
#> Permutation: free
#> Number of permutations: 999
#> 
#> (function (formula, data, permutations = 999, method = "bray", sqrt.dist = FALSE, add = FALSE, by = NULL, parallel = getOption("mc.cores"), na.action = na.fail, strata = NULL, ...) 
#>           Df SumOfSqs      R2      F Pr(>F)    
#> Model      1     6730 0.13248 30.236  0.001 ***
#> Residual 198    44071 0.86752                  
#> Total    199    50801 1.00000                  
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Copy Link

Version

Install

install.packages('mixtree')

Version

0.0.1

License

MIT + file LICENSE

Maintainer

Cyril Geismar

Last Published

March 5th, 2025

Functions in mixtree (0.0.1)

chisq_test

Perform Chi-Square Test on Sets of Transmission Trees
make_tree

Generate a Transmission Tree
permanova_test

Perform PERMANOVA on Sets of Transmission Trees
euclidean

Calculate the Euclidean distance between two distance matrices.
tree_test

Test Differences Between Sets of Transmission Trees
shuffle_graph_ids

Shuffle Node IDs in a Graph
abouheif

Compute the Abouheif distance matrix
kendall

Compute the Kendall distance matrix
validate_set

Validate a Set of Transmission Trees
patristic

Compute the Patristic distance matrix
validate_tree

Validate a Transmission Tree
validate_sets

Validate sets of transmission trees