Which couples from a given set of nodes in a tree belong to the same part?

Which couples from a given set of nodes in a tree belong to the same regime?

PCMTreeMatrixNodesInSamePart(
  tree,
  nodes = seq_len(PCMTreeNumNodes(tree)),
  upperTriangle = TRUE,
  returnVector = TRUE
)

PCMTreeMatrixNodesInSameRegime(
  tree,
  nodes = seq_len(PCMTreeNumNodes(tree)),
  upperTriangle = TRUE,
  returnVector = TRUE
)

Arguments

tree

a PCMTree object or a phylo object.

nodes

an integer vector of length L >= 2 denoting a set of nodes in the tree.

upperTriangle

logical indicating if all duplicated entries and diagonal entries should be set to NA (by default TRUE).

returnVector

logical indicating if a vector instead of a matrix should be returned (corresponding to calling as.vector on the resulting matrix and removing NAs). Default: TRUE

Value

a L x L logical matrix with TRUE on the diagonal and for each couple of tips that belong to the same part or regime. If returnVector is TRUE (default) only a vector of the non-NA entries will be returned.

a L x L logical matrix with TRUE on the diagonal and for each couple of tips that belong to the same part or regime. If returnVector is TRUE (default) only a vector of the non-NA entries will be returned.

Examples

set.seed(1, kind = "Mersenne-Twister", normal.kind = "Inversion") tree <- PCMTree(ape::rtree(8)) PCMTreeMatrixNodesInSamePart(tree, returnVector = FALSE)
#> t5 t7 t3 t2 t6 t4 t1 t8 9 10 11 12 13 14 15 #> t5 NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t7 NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t3 NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t2 NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t6 NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t4 NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t1 NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t8 NA NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> 9 NA NA NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE #> 10 NA NA NA NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE #> 11 NA NA NA NA NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE #> 12 NA NA NA NA NA NA NA NA NA NA NA NA TRUE TRUE TRUE #> 13 NA NA NA NA NA NA NA NA NA NA NA NA NA TRUE TRUE #> 14 NA NA NA NA NA NA NA NA NA NA NA NA NA NA TRUE #> 15 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
PCMTreeSetPartition(tree, c(10, 12)) PCMTreeMatrixNodesInSamePart(tree, returnVector = FALSE)
#> t5 t7 t3 t2 t6 t4 t1 t8 9 10 11 12 13 #> t5 NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE #> t7 NA NA TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE #> t3 NA NA NA TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE #> t2 NA NA NA NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE #> t6 NA NA NA NA NA TRUE TRUE TRUE FALSE TRUE TRUE FALSE FALSE #> t4 NA NA NA NA NA NA TRUE TRUE FALSE TRUE TRUE FALSE FALSE #> t1 NA NA NA NA NA NA NA TRUE FALSE TRUE TRUE FALSE FALSE #> t8 NA NA NA NA NA NA NA NA FALSE TRUE TRUE FALSE FALSE #> 9 NA NA NA NA NA NA NA NA NA FALSE FALSE FALSE FALSE #> 10 NA NA NA NA NA NA NA NA NA NA TRUE FALSE FALSE #> 11 NA NA NA NA NA NA NA NA NA NA NA FALSE FALSE #> 12 NA NA NA NA NA NA NA NA NA NA NA NA TRUE #> 13 NA NA NA NA NA NA NA NA NA NA NA NA NA #> 14 NA NA NA NA NA NA NA NA NA NA NA NA NA #> 15 NA NA NA NA NA NA NA NA NA NA NA NA NA #> 14 15 #> t5 FALSE FALSE #> t7 FALSE FALSE #> t3 FALSE FALSE #> t2 FALSE FALSE #> t6 TRUE TRUE #> t4 TRUE TRUE #> t1 TRUE TRUE #> t8 TRUE TRUE #> 9 FALSE FALSE #> 10 TRUE TRUE #> 11 TRUE TRUE #> 12 FALSE FALSE #> 13 FALSE FALSE #> 14 NA TRUE #> 15 NA NA
PCMTreeMatrixNodesInSamePart(tree)
#> [1] FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE #> [13] FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE #> [25] FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE #> [37] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE #> [49] FALSE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE #> [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE #> [73] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE #> [85] TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE #> [97] TRUE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE
PCMTreeMatrixNodesInSamePart(tree, seq_len(PCMTreeNumTips(tree)))
#> [1] FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE #> [13] FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE #> [25] FALSE TRUE TRUE TRUE
PCMTreeMatrixNodesInSamePart( tree, seq_len(PCMTreeNumTips(tree)), returnVector = FALSE)
#> t5 t7 t3 t2 t6 t4 t1 t8 #> t5 NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE #> t7 NA NA TRUE TRUE FALSE FALSE FALSE FALSE #> t3 NA NA NA TRUE FALSE FALSE FALSE FALSE #> t2 NA NA NA NA FALSE FALSE FALSE FALSE #> t6 NA NA NA NA NA TRUE TRUE TRUE #> t4 NA NA NA NA NA NA TRUE TRUE #> t1 NA NA NA NA NA NA NA TRUE #> t8 NA NA NA NA NA NA NA NA
set.seed(1, kind = "Mersenne-Twister", normal.kind = "Inversion") tree <- PCMTree(ape::rtree(8)) PCMTreeMatrixNodesInSamePart(tree, returnVector = FALSE)
#> t5 t7 t3 t2 t6 t4 t1 t8 9 10 11 12 13 14 15 #> t5 NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t7 NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t3 NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t2 NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t6 NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t4 NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t1 NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> t8 NA NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> 9 NA NA NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE TRUE #> 10 NA NA NA NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE TRUE #> 11 NA NA NA NA NA NA NA NA NA NA NA TRUE TRUE TRUE TRUE #> 12 NA NA NA NA NA NA NA NA NA NA NA NA TRUE TRUE TRUE #> 13 NA NA NA NA NA NA NA NA NA NA NA NA NA TRUE TRUE #> 14 NA NA NA NA NA NA NA NA NA NA NA NA NA NA TRUE #> 15 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
PCMTreeSetPartition(tree, c(10, 12)) PCMTreeMatrixNodesInSamePart(tree, returnVector = FALSE)
#> t5 t7 t3 t2 t6 t4 t1 t8 9 10 11 12 13 #> t5 NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE #> t7 NA NA TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE #> t3 NA NA NA TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE #> t2 NA NA NA NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE #> t6 NA NA NA NA NA TRUE TRUE TRUE FALSE TRUE TRUE FALSE FALSE #> t4 NA NA NA NA NA NA TRUE TRUE FALSE TRUE TRUE FALSE FALSE #> t1 NA NA NA NA NA NA NA TRUE FALSE TRUE TRUE FALSE FALSE #> t8 NA NA NA NA NA NA NA NA FALSE TRUE TRUE FALSE FALSE #> 9 NA NA NA NA NA NA NA NA NA FALSE FALSE FALSE FALSE #> 10 NA NA NA NA NA NA NA NA NA NA TRUE FALSE FALSE #> 11 NA NA NA NA NA NA NA NA NA NA NA FALSE FALSE #> 12 NA NA NA NA NA NA NA NA NA NA NA NA TRUE #> 13 NA NA NA NA NA NA NA NA NA NA NA NA NA #> 14 NA NA NA NA NA NA NA NA NA NA NA NA NA #> 15 NA NA NA NA NA NA NA NA NA NA NA NA NA #> 14 15 #> t5 FALSE FALSE #> t7 FALSE FALSE #> t3 FALSE FALSE #> t2 FALSE FALSE #> t6 TRUE TRUE #> t4 TRUE TRUE #> t1 TRUE TRUE #> t8 TRUE TRUE #> 9 FALSE FALSE #> 10 TRUE TRUE #> 11 TRUE TRUE #> 12 FALSE FALSE #> 13 FALSE FALSE #> 14 NA TRUE #> 15 NA NA
PCMTreeMatrixNodesInSamePart(tree)
#> [1] FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE #> [13] FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE #> [25] FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE #> [37] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE #> [49] FALSE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE #> [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE #> [73] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE #> [85] TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE #> [97] TRUE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE
PCMTreeMatrixNodesInSamePart(tree, seq_len(PCMTreeNumTips(tree)))
#> [1] FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE #> [13] FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE #> [25] FALSE TRUE TRUE TRUE
PCMTreeMatrixNodesInSamePart( tree, seq_len(PCMTreeNumTips(tree)), returnVector = FALSE)
#> t5 t7 t3 t2 t6 t4 t1 t8 #> t5 NA FALSE FALSE FALSE FALSE FALSE FALSE FALSE #> t7 NA NA TRUE TRUE FALSE FALSE FALSE FALSE #> t3 NA NA NA TRUE FALSE FALSE FALSE FALSE #> t2 NA NA NA NA FALSE FALSE FALSE FALSE #> t6 NA NA NA NA NA TRUE TRUE TRUE #> t4 NA NA NA NA NA NA TRUE TRUE #> t1 NA NA NA NA NA NA NA TRUE #> t8 NA NA NA NA NA NA NA NA