Nothing
library("TreeTools", quietly = TRUE)
bal8 <- BalancedTree(8)
pec8 <- PectinateTree(8)
bal8BG <- DropTip(bal8, c(1, 8))
pec8BG <- DropTip(pec8, c(1, 8))
bal8CH <- DropTip(bal8, 1:2)
pec8CH <- DropTip(pec8, 1:2)
test_that("Non-identical tips handled okay", {
fullDist <- TreeDistance(bal8, pec8)
expect_equal(TreeDistance(bal8, bal8BG), 0)
expect_equal(MutualClusteringInfo(bal8, bal8BG), ClusteringEntropy(bal8BG))
expect_equal(TreeDistance(bal8BG, bal8), 0)
expect_equal(MutualClusteringInfo(bal8BG, bal8), ClusteringEntropy(bal8BG))
expect_equal(TreeDistance(bal8BG, bal8CH), 0)
expect_equal(MutualClusteringInfo(bal8BG, bal8CH),
ClusteringEntropy(DropTip(bal8, c(1, 2, 8))))
expect_equal(TreeDistance(bal8, pec8BG), TreeDistance(bal8BG, pec8BG))
expect_equal(TreeDistance(bal8BG, pec8), TreeDistance(bal8BG, pec8BG))
expect_equal(MutualClusteringInfo(bal8, pec8BG),
MutualClusteringInfo(bal8BG, pec8BG))
expect_equal(TreeDistance(BalancedTree(1:5), BalancedTree(6:9)), NaN)
expect_equal(MutualClusteringInfo(BalancedTree(1:5), BalancedTree(6:9)), 0)
fullList <- list(
bal8 = bal8,
pec8 = pec8,
bal8BG = bal8BG,
pec8BG = pec8BG,
bal8CH = bal8CH,
pec8CH = pec8CH,
balAE = BalancedTree(5),
balFI = BalancedTree(paste0("t", 6:9))
)
expect_equal(MutualClusteringInfo(bal8, fullList),
unlist(vapply(fullList, MutualClusteringInfo, 1, bal8)))
expect_equal(MutualClusteringInfo(bal8, fullList, normalize = TRUE),
unlist(vapply(fullList, MutualClusteringInfo, 1, bal8,
normalize = TRUE)))
expect_equal(TreeDistance(bal8, fullList),
unlist(lapply(fullList, TreeDistance, bal8)))
expect_equal(TreeDistance(fullList, bal8), TreeDistance(bal8, fullList))
expect_equal(MutualClusteringInfo(fullList, bal8),
MutualClusteringInfo(bal8, fullList))
expect_equal(MutualClusteringInfo(fullList, fullList),
vapply(fullList, function(t1)
vapply(fullList, MutualClusteringInfo, double(1), t1),
double(length(fullList)))
)
expect_equal(MutualClusteringInfo(fullList),
vapply(fullList, MutualClusteringInfo,
double(length(fullList)), fullList))
expect_equal(MutualClusteringInfo(fullList, normalize = TRUE),
vapply(fullList, MutualClusteringInfo,
double(length(fullList)), fullList, normalize = TRUE))
expect_equal(# Lists of trees
MutualClusteringInfo(fullList[2:3], fullList[1:2], normalize = TRUE),
vapply(fullList[2:3], MutualClusteringInfo,
double(2), fullList[1:2], normalize = TRUE)
)
expect_equal(
MutualClusteringInfo(fullList[1:2], fullList[2], normalize = TRUE),
t(MutualClusteringInfo(fullList[2], fullList[1:2], normalize = TRUE)))
expect_equal(
MutualClusteringInfo(fullList[2], fullList[1], normalize = TRUE),
structure(MutualClusteringInfo(fullList[[2]], fullList[[1]],
normalize = TRUE), dim = c(1, 1),
dimnames = list(names(fullList[2]), names(fullList[1])))
)
# No overlap
exp <- as.dist(vapply(fullList, TreeDistance, double(length(fullList)),
fullList), diag = FALSE, upper = FALSE)
attr(exp, "call") <- NULL
expect_equal(ClusteringInfoDistance(fullList, normalize = TRUE), exp)
expect_equal(TreeDistance(fullList), exp)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.