checkPhylo4: Validity checking for phylo4 objects

View source: R/checkdata.R

checkPhylo4R Documentation

Validity checking for phylo4 objects

Description

Basic checks on the validity of S4 phylogenetic objects

Usage

checkPhylo4(object)

Arguments

object

A prospective phylo4 or phylo4d object

Value

As required by validObject, returns an error string (describing problems) or TRUE if everything is OK.

Note

These functions are only intended to be called by other phylobase functions.

checkPhylo4 is an (inflexible) wrapper for checkTree. The rules for phylo4 objects essentially follow those for phylo objects from the ape package, which are in turn defined in https://emmanuelparadis.github.io/misc/FormatTreeR.pdf. These are essentially that:

  • if the tree has edge lengths defined, the number of edge lengths must match the number of edges;

  • the number of tip labels must match the number of tips;

  • in a tree with ntips tips and nnodes (total) nodes, nodes 1 to ntips must be tips

  • if the tree is rooted, the root must be node number ntips+1 and the root node must be the first row of the edge matrix

  • tip labels, node labels, edge labels, edge lengths must have proper internal names (i.e. internal names that match the node numbers they document)

  • tip and node labels must be unique

You can alter some of the default options by using the function phylobase.options.

For phylo4d objects, checkTree also calls checkPhylo4Data to check the validity of the data associated with the tree. It ensures that (1) the data associated with the tree have the correct dimensions, (2) that the row names for the data are correct.

Author(s)

Ben Bolker, Steven Kembel, Francois Michonneau

See Also

the phylo4 constructor and phylo4 class; the phylo4d-methods constructor and the phylo4d class do checks for the data associated with trees. See coerce-methods for translation functions and phylobase.options to change some of the default options of the validator.


phylobase documentation built on May 29, 2024, 11:24 a.m.