`CompareQuartets()`

uses explicit enumeration to compare two lists of
quartet states, detailing how many are identical and how many are unresolved.
For most purposes, the faster function `QuartetStatus()`

will be preferable.

`CompareQuartets(x, cf)`

- x, cf
List of quartet states, perhaps generated by

`QuartetStates()`

.

Returns an array of seven numeric elements, corresponding

- N
The total number of quartet

*statements*for two trees of*n*leaves, i.e. 2*Q*.- Q
The total number of quartets for

*n*leaves.- s
The number of quartets that are resolved identically in both trees.

- d
The number of quartets that are resolved differently in each tree.

- r1
The number of quartets that are resolved in tree 1, but not in tree 2.

- r2
The number of quartets that are resolved in tree 2, but not in tree 1.

- u
The number of quartets that are unresolved in both trees.

Estabrook GF, McMorris FR, Meacham CA (1985).
“Comparison of undirected phylogenetic trees based on subtrees of four evolutionary units.”
*Systematic Zoology*, **34**(2), 193--200.
doi:10.2307/2413326
.

`QuartetStatus()`

generates the same output from a list of trees.

Other element-by-element comparisons:
`CompareQuartetsMulti()`

,
`CompareSplits()`

,
`PairSharedQuartetStatus()`

,
`QuartetState()`

,
`SharedQuartetStatus()`

,
`SplitStatus()`

Other quartet counting functions:
`AllQuartets()`

,
`CompareQuartetsMulti()`

,
`ResolvedQuartets()`

```
trees <- list(TreeTools::BalancedTree(6),
TreeTools::PectinateTree(6))
quartets <- QuartetStates(trees)
CompareQuartets(quartets[[1]], quartets[[2]])
#> N Q s d r1 r2 u
#> 2 1 1 0 0 0 0
```