Island_colonist-class   Defines the 'island_tbl' class which is used
                        when extracting information from the
                        phylogenetic and island data to be used for
                        constructing a 'daisie_data_tbl'
Island_tbl-class        Defines the 'island_tbl' class which is used
                        when extracting information from the
                        phylogenetic and island data to be used for
                        constructing a 'daisie_data_tbl'
Multi_island_tbl-class
                        Defines the 'Multi_island_tbl' class which is
                        multiple 'Island_tbl's.
add_asr_node_states     Fits a model of ancestral state reconstruction
                        of island presence
add_island_colonist     Adds an island colonists (can be either a
                        singleton lineage or an island clade) to the
                        island community (island_tbl).
add_missing_species     Adds a specified number of missing species to
                        an existing island_tbl at the colonist
                        specified by the species_to_add_to argument
                        given. The species given is located within the
                        island_tbl data and missing species are
                        assigned. This is to be used after
                        'extract_island_species()' to input missing
                        species.
add_multi_missing_species
                        Calculates the number of missing species to be
                        assigned to each island clade in the island_tbl
                        object and assigns the missing species to them.
                        In the case that multiple genera are in an
                        island clade and each have missing species the
                        number of missing species is summed. Currently
                        the missing species are assigned to the genus
                        that first matches with the missing species
                        table, however a more biologically or
                        stochastic assignment is in development.
add_outgroup            Add an outgroup species to a given phylogeny.
all_descendants_conspecific
                        Checks whether all species given in the
                        descendants vector are the same species.
all_endemicity_status   All possible endemicity statuses
any_back_colonisation   Detects any cases where a non-endemic species
                        or species not present on the island has likely
                        been on the island given its ancestral state
                        reconstruction indicating ancestral presence on
                        the island and so is likely a back colonisation
                        from the island to the mainland (or potentially
                        different island). This function is useful if
                        using extraction_method = "min" in
                        'DAISIEprep::extract_island_species()' as it
                        may brake up a single colonist into multiple
                        colonists because of back-colonisation.
any_outgroup            Checks whether the phylogeny has an outgroup
                        that is not present on the island. This is
                        critical when extracting data from the
                        phylogeny so the stem age (colonisation time)
                        is correct.
any_polyphyly           Checks whether there are any species in the
                        phylogeny that have multiple tips (i.e.
                        multiple subspecies per species) and whether
                        any of those tips are paraphyletic (i.e. are
                        their subspecies more distantly related to each
                        other than to other subspecies or species).
as_daisie_datatable     Converts the 'Island_tbl' class to a data frame
                        in the format of a DAISIE data table (see
                        DAISIE R package for details). This can then be
                        input into 'DAISIEprep::create_daisie_data()'
                        function which creates the list input into the
                        DAISIE ML models.
benchmark               Performance analysis of the
                        extract_island_species() function Uses
                        system.time() for timing for reasons explained
                        here:
                        https://radfordneal.wordpress.com/2014/02/02/inaccurate-results-from-microbenchmark/
                        # nolint
bind_colonist_to_tbl    Takes an existing instance of an 'Island_tbl'
                        class and bind the information from the
                        instance of an 'Island_colonist' class to it
check_island_colonist   Checks the validity of the Island_colonist
                        class
check_island_tbl        Checks the validity of the Island_tbl class
check_multi_island_tbl
                        Checks the validity of the Multi_island_tbl
                        class
check_phylo_data        Checks whether \linkS4class{phylo4d} object
                        conforms to the requirements of the DAISIEprep
                        package. If the function does not return
                        anything the data is ready to be used, if an
                        error is returned the data requires some
                        pre-processing before DAISIEprep can be used
count_missing_species   Reads in the checklist of all species on an
                        island, including those that are not in the
                        phylogeny (represented by NA) and counts the
                        number of species missing from the phylogeny
                        each genus
create_daisie_data      This is a wrapper function for
                        DAISIE::DAISIE_dataprep(). It allows the final
                        DAISIE data structure to be produced from
                        within DAISIEprep. For detailed documentation
                        see the help documentation in the DAISIE
                        package (?DAISIE::DAISIE_dataprep).
create_endemicity_status
                        Creates a data frame with the endemicity status
                        (either 'endemic', 'nonendemic', 'not_present')
                        of every species in the phylogeny using a
                        phylogeny and a data frame of the island
                        species and their endemicity (either 'endemic'
                        or 'nonendemic') provided.
create_test_phylod      Creates phylod objects.
default_params_doc      Documentation for function in the DAISIEprep
                        package
endemicity_to_sse_states
                        Convert endemicity to SSE states
extract_asr_clade       Extracts an island clade based on the ancestral
                        state reconstruction of the species presence on
                        the island, therefore this clade can contain
                        non-endemic species as well as endemic species.
extract_biogeobears_ancestral_states_probs
                        Extract ancestral state probabilities from
                        BioGeoBEARS output
extract_clade_name      Creates a name for a clade depending on whether
                        all the species of the clade have the same
                        genus name or whether the clade is composed of
                        multiple genera, in which case it will create a
                        unique clade name by concatinating the genus
                        names
extract_endemic_clade   Extracts the information for an endemic clade
                        (i.e. more than one species on the island more
                        closely related to each other than other
                        mainland species) from a phylogeny
                        (specifically 'phylo4d' object from 'phylobase'
                        package) and stores it in an 'Island_colonist'
                        class
extract_endemic_singleton
                        Extracts the information for an endemic species
                        from a phylogeny (specifically 'phylo4d' object
                        from 'phylobase' package) and stores it in in
                        an 'Island_colonist' class
extract_island_species
                        Extracts the colonisation, diversification, and
                        endemicty data from phylogenetic and endemicity
                        data and stores it in an 'Island_tbl' object
extract_multi_tip_species
                        Extracts the information for a species (endemic
                        or non-endemic) which has multiple tips in the
                        phylogeny (i.e. more than one sample per
                        species) from a phylogeny (specifically
                        'phylo4d' object from 'phylobase' package) and
                        stores it in an 'Island_colonist' class
extract_nonendemic      Extracts the information for a non-endemic
                        species from a phylogeny (specifically
                        'phylo4d' object from 'phylobase' package) and
                        stores it in in an 'island_colonist' class
extract_species_asr     Extracts the colonisation, diversification, and
                        endemicty data from phylogenetic and endemicity
                        data and stores it in an 'Island_tbl' object
                        using the "asr" algorithm that extract island
                        species given their ancestral states of either
                        island presence or absence.
extract_species_min     Extracts the colonisation, diversification, and
                        endemicty data from phylogenetic and endemicity
                        data and stores it in an 'Island_tbl' object
                        using the "min" algorithm that extract island
                        species as the shortest time to the present.
extract_stem_age        Extracts the stem age from the phylogeny when
                        the a species is known to belong to a genus but
                        is not itself in the phylogeny and there are
                        members of the same genus are in the phylogeny.
                        The stem age can either be for the genus (or
                        several genera) in the tree ('stem = "genus"')
                        or use an extraction algorithm to find the stem
                        of when the species colonised the island (stem
                        = "island_presence), either 'min' or 'asr' as
                        in extract_island_species(). When 'stem =
                        "island_presence"' the reconstructed node
                        states are used to determine the stem age.
extract_stem_age_asr    Extracts the stem age from the phylogeny when
                        the a species is known to belong to a genus but
                        is not itself in the phylogeny and there are
                        members of the same genus are in the phylogeny
                        using the 'asr' extraction method
extract_stem_age_genus
                        Extracts the stem age from the phylogeny when
                        the a species is known to belong to a genus but
                        is not itself in the phylogeny and there are
                        members of the same genus are in the phylogeny
extract_stem_age_min    Extracts the stem age from the phylogeny when
                        the a species is known to belong to a genus but
                        is not itself in the phylogeny and there are
                        members of the same genus are in the phylogeny
                        using the 'min' extraction method
get_clade_name          Accessor functions for the data (slots) in
                        objects of the 'Island_colonist' class
get_island_tbl          Accessor functions for the data (slots) in
                        objects of the 'Island_tbl' class
get_sse_tip_states      Extract tip states from a phylod object
is_back_colonisation    Checks whether species has undergone
                        back-colonisation from
is_duplicate_colonist   Determines if colonist has already been stored
                        in 'Island_tbl' class. This is used to stop
                        endemic clades from being stored multiple times
                        in the island table by checking if the
                        endemicity status and branching times are
                        identical.
is_identical_island_tbl
                        Checks whether two 'Island_tbl' objects are
                        identical. If they are different comparisons
                        are made to report which components of the
                        'Island_tbls' are different.
island_colonist         Constructor for Island_colonist
island_tbl              Constructor function for 'Island_tbl' class
multi_extract_island_species
                        Extracts the colonisation, diversification, and
                        endemicty data from multiple 'phylod'
                        ('phylo4d' class from 'phylobase') objects
                        (composed of phylogenetic and endemicity data)
                        and stores each in an 'Island_tbl' object which
                        are stored in a 'Multi_island_tbl' object.
multi_island_tbl        Constructor function for 'Multi_island_tbl'
                        class
plot_colonisation       Plots a dot plot (cleveland dot plot when
                        include_crown_age = TRUE) of the stem and
                        potentially crown ages of a community of island
                        colonists.
plot_performance        Plots performance results for a grouping
                        variable (prob_on_island or prob_endemic).
plot_phylod             Plots the phylogenetic tree and its associated
                        tip and/or node data
rm_island_colonist      Removes an island colonist from an 'Island_tbl'
                        object
rm_multi_missing_species
                        Loops through the genera that have missing
                        species and removes the ones that are found in
                        the missing genus list which have phylogenetic
                        data. This is useful when wanting to know which
                        missing species have not been assigned to the
                        island_tbl using 'add_multi_missing_species()'.
round_up                Rounds numbers using the round up method,
                        rather than the round to the nearest even
                        number method used by the base function
                        'round'.
select_endemicity_status
                        Select endemicity status from ancestral states
                        probabilities
sensitivity             Runs a sensitivity analysis to test the
                        influences of changing the data on the
                        parameter estimates for the DAISIE maximum
                        likelihood inference model
sse_states_to_endemicity
                        Convert SSE states back to endemicity status
translate_status        Takes a string of the various ways the island
                        species status can be and returns a uniform all
                        lower-case string of the same status to make
                        handling statuses easier in other function
unique_island_genera    Determines the unique endemic genera that are
                        included in the island clades contained within
                        the island_tbl object and stores them as a list
                        with each genus only occuring once in the first
                        island clade it appears in
write_biogeobears_input
                        Write input files for BioGeoBEARS
write_newick_file       Write tree input file for BioGeoBEARS
write_phylip_biogeo_file
                        Write biogeography input file for BioGeoBEARS
