compare.pls | R Documentation |
Function performs an analysis to compare the effect sizes of two or more PLS effects
compare.pls(..., two.tailed = TRUE)
... |
saved analyses of class pls |
two.tailed |
A logical value to indicate whether a two-tailed test (typical and default) should be performed. |
The function statistically compares the effect sizes of two or more PLS analyses. Typically, this function might be used to compare levels of integration between two or more samples, each measuring morphological integration between different modules. In such cases, the PLS correlation coefficient, r, is not a good measure of integration effect, as its expected value is dependent on both the number of specimens and number of variables (Adams and Collyer 2016). This analysis calculates effect sizes as standard deviates, z, and performs two-sample z-tests, using the pooled standard error from the sampling distributions of the PLS analyses.
To use this function, perform two.b.pls
, integration.test
, or
phylo.integration
on as many samples as desired. Any number of objects of class pls can be input.
Similar versions of this function will be designed for alternative test statistics, in the future.
Compared to previous versions of geomorph, users might notice differences in effect sizes. Previous versions used z-scores calculated with expected values of statistics from null hypotheses (sensu Collyer et al. 2015); however Adams and Collyer (2016) showed that expected values for some statistics can vary with sample size and variable number, and recommended finding the expected value, empirically, as the mean from the set of random outcomes. Geomorph 3.0.4 and subsequent versions now center z-scores on their empirically estimated expected values and where appropriate, log-transform values to assure statistics are normally distributed. This can result in negative effect sizes, when statistics are smaller than expected compared to the average random outcome. For ANOVA-based functions, the option to choose among different statistics to measure effect size is now a function argument.
An object of class compare.pls, returns a list of the following
sample.z |
A vector of effect sizes for each sample. |
sample.r.sd |
A vector of standard deviations for each sampling distribution (following Box-Cox transformation). |
pairwise.z |
A matrix of pairwise, two-sample z scores between all pairs of effect sizes. |
pairwise.p |
A matrix of corresponding P-values. |
Michael Collyer
Collyer, M.L., D.J. Sekora, and D.C. Adams. 2015. A method for analysis of phenotypic change for phenotypes described by high-dimensional data. Heredity. 115:357-365.
Adams, D.C. and M.L. Collyer. 2016. On the comparison of the strength of morphological integration across morphometric datasets. Evolution. 70:2623-2631.
## Not run:
# Example of comparative morphological integration between pupfish head
# and body shapes
data(pupfish) # GPA previously performed
group <- factor(paste(pupfish$Pop, pupfish$Sex, sep = "."))
levels(group)
tail.LM <- c(1:3, 5:9, 18:38)
head.LM <- (1:56)[-tail.LM]
tail.coords <- pupfish$coords[tail.LM,,]
head.coords <- pupfish$coords[head.LM,,]
# Subset 3D array by group, returning a list of 3D arrays
tail.coords.gp <- coords.subset(tail.coords, group)
head.coords.gp <- coords.subset(head.coords, group)
integ.tests <- Map(function(x,y) integration.test(x, y, iter=499,
print.progress = FALSE), head.coords.gp, tail.coords.gp)
# the map function performs the integration test on each 3D array in
# the lists provided
integ.tests$Marsh.F
integ.tests$Marsh.M
integ.tests$Sinkhole.F
integ.tests$Sinkhole.M
group.Z <- compare.pls(integ.tests)
summary(group.Z)
# Sexual dimorphism in morphological integration in one population
# but not the other
# can also list different PLS analyses, separately
compare.pls(MF = integ.tests$Marsh.F, MM = integ.tests$Marsh.M)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.