This function performs the simulation-based phylogenetic ANOVA of Garland et al. (1993) and (optionally) conducts all posthoc comparisons of means among groups (also obtaining the P-values by phylogenetic simulation).
phylANOVA(tree, x, y, nsim=1000, posthoc=TRUE, p.adj="holm")
a phylogenetic tree in "phylo"
format.
a vector containing the groups.
a vector containing the response variable (continuously valued).
an integer specifying the number of simulations (including the observed data).
a logical value indicating whether or not to conduct posthoc tests to compare the mean among groups.
method to adjust P-values for the posthoc tests to account for multiple testing. Options same as p.adjust
.
An object of class "phylANOVA"
containing the following elements:
F from observed data.
P-value for F from simulation.
matrix of t-values.
matrix of multiple test corrected P-values from posthoc t-tests.
This function uses a little bit of code from both phy.anova
in the geiger package and pairwise.t.test
.
Garland, T., Jr., A. W. Dickerman, C. M. Janis, & J. A. Jones. (1993) Phylogenetic analysis of covariance by computer simulation. Systematic Biology, 42, 265-292.
Harmon, L. J., J. T. Weir, C. D. Brock, R. E. Glor, W. Challenger. (2008) GEIGER: investigating evolutionary radiations. Bioinformatics, 24, 129-131.
Revell, L. J. (2012) phytools: An R package for phylogenetic comparative biology (and other things). Methods Ecol. Evol., 3, 217-223.