Fitting linear models, and performing statistical analyses in
general, to assess biological hypotheses regarding closely-related
species presents a problem to the researcher. Standard statistical
models rely on the assumption that observations are independent and
identically distributed (iid). Mathematically, this means that the
Gaussian error of an iid dataset can be expressed as an identity matrix.
However, when species are closely related (for example within the same
genus) by phylogeny, we expect observations taken on them to be more
similar than those taken from more distantly-related species. This means
that error in this case cannot be expressed as an identity matrix. In
other words, observations taken from closely related species cannot be
considered independent, or identically distributed. Phylogenetic
Comparative Methods (PCM) is an analytical toolkit consisting of
methodologies designed to account for this issue of non-independence of
observations. With this toolkit, researchers can construct models and
perform other related analyses with non independent observations by
subsequently \(conditioning\) those
observations on a phylogeny. Under this PCM analytical umbrella are Phylogenetic ANOVA, Phylomorphospace, Phylogenetic Signal, and Evolutionary Rates,
all of which can be performed using functions in
geomorph.
Phylogenetic signal refers to the extent to which phenotypic similarity in a dataset is associated with phylogenetic relatedness. This signal is expected to be higher among the most closely-related species but, in cases where relationships among species are not as close, but still potentially significant, phylogenetic signal can be used to determine whether one’s subsequent analyses should take phylogeny into account (Adams, 2014). Perhaps more importantly, quantifying phylogenetic signal across several traits can help to show which aspects of the phenotype are more evolutionarily labile.
The physignal.z function is distinct from physignal in that phylogenetic signal is
computed from the standardized log-likelihood in a distribution
generated from randomization of residuals in a permutation procedure
(RRPP). Based on the procedure described in Collyer et al., (2022), this
function estimates phylogenetic signal with an optimized version of
Pagel’s Lambda (\(\hat{\lambda}\)),
which can be generated using a number of different protocols (see
below). The result is an estimation of phylogenetic signal with more
robust statistical properties that can be compared with other effect
sizes of different sets of traits.
physignal.z()
To illustrate the use of this function, we test for phylogenetic signal in the head shape of plethodon salamanders. The data used here are available with geomorph as part of the ‘plethspecies’ dataset.
PS.shape <- physignal(A = lmks$coords, phy = plethspecies$phy, iter=999)
summary:
summary(PS.shape)
##
## Call:
## physignal(A = lmks$coords, phy = plethspecies$phy, iter = 999)
##
##
##
## Observed Phylogenetic Signal (K): 0.9573
##
## P-value: 0.008
##
## Based on 1000 random permutations
##
## Use physignal.z to estimate effect size.
plot:
plot(PS.shape)
plot(PS.shape$PACA, phylo = TRUE)

PS.shape$K.by.p
## [1] 1.5034858 1.4253457 1.1610972 1.0762048 1.0010464 0.9746155 0.9623519 0.9572991 0.9572991
To calculate the phylogenetic signal effect size for size, rather than shape, simply replace the input Procrustes coordinates for the ‘A’ argument with the centroid sizes for one’s data ($Csize):
PS.size <- physignal(A = lmks$Csize, phy = plethspecies$phy, iter=999)
summary(PS.size)
##
## Call:
## physignal(A = lmks$Csize, phy = plethspecies$phy, iter = 999)
##
##
##
## Observed Phylogenetic Signal (K): 0.7098
##
## P-value: 0.477
##
## Based on 1000 random permutations
##
## Use physignal.z to estimate effect size.
plot(PS.size)
This function returns a list object containing the following which can be accessed individually using the $ operator:
physignal.z() Output
Important Note! To compare multiple phylogenetic
signal effect sizes, see the tutorial for the compare.physignal.z function.