advanced.procD.lm: Procrustes ANOVA and pairwise tests for shape data, using...

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/advanced.procD.lm.r

Description

The function quantifies the relative amount of shape variation explained by a suite of factors and covariates in a "full" model, after accounting for variation in a "reduced" model. Inputs are formulae for full and reduced models (order is not important, but it is better to list the model with the most terms first or use a geomorph data frame), plus indication if means or slopes are to be compared among groups, with appropriate formulae to define how they should be compared.

Usage

1
2
3
advanced.procD.lm(f1, f2, groups = NULL, slope = NULL, angle.type = c("r",
  "deg", "rad"), phy = NULL, pc.shape = FALSE, iter = 999, seed = NULL,
  print.progress = TRUE, data = NULL, ...)

Arguments

f1

A formula for a linear model, containing the response matrix (e.g., y ~ x1 + x2)

f2

A formula for another linear model (e.g., ~ x1 + x2 + x3 + a*b). f1 and f2 should be nested.

groups

A formula for grouping factors (e.g., ~ a, or ~ a*b). This argument should be left NULL unless one wishes to perform pairwise comparisons of different group levels. Note that this argument is used in conjunction with the argument, slope. If slope is NULL, a pairwise comparison test is performed on group least squares (LS) means. If slope is not NULL, this argument will designate the group levels to compare in terms of their slopes.

slope

A formula with one - and only one - covariate (e.g., ~ x3). This argument must be used in conjunction with the groups argument. It will not make sense if the groups argument is left NULL. The groups argument defines the groups; the slope argument defines for which covariate group slopes are compared. Group slopes can differ in their magnitude and direction of shape change.

angle.type

A value specifying whether directional differences between slopes should be represented by vector correlations (r), radians (rad) or degrees (deg).

phy

A phylogenetic tree of class phylo - see read.tree in library ape (optional)

pc.shape

An argument for whether analysis should be performed on the principal component scores of shape. This is a useful option if the data are high-dimensional (many more variables than observations) but will not affect results

iter

Number of iterations for significance testing

seed

An optional argument for setting the seed for random permutations of the resampling procedure. If left NULL (the default), the exact same P-values will be found for repeated runs of the analysis (with the same number of iterations). If seed = "random", a random seed will be used, and P-values will vary. One can also specify an integer for specific seed values, which might be of interest for advanced users.

print.progress

A logical value to indicate whether a progress bar should be printed to the screen. This is helpful for long-running analyses.

data

A data frame for the function environment; see geomorph.data.frame. If variables are transformed in formulae, they should also be transformed in the geomorph data frame. (See examples.)

...

Arguments passed on to procD.fit (typically associated with the lm function, such as weights or offset).

Details

This function calculates residual sum of squares either via ordinary least squares (OLS) estimation or phylogenetic least squares (PGLS) estimation for both full and reduced models. Residuals from the reduced model are used in a randomized residual permutation procedure (RRPP) to find the difference in residual sum of squares (trace of the residual sums of squares and cross-products matrix, SSCP) over many permutations, thus creating a distribution of sum of squares (SS) for the parameters that differ between models (Collyer et al. 2015). The SS can be converted to F-values to generate an empirical F-distribution. A P-value is estimated as the percentile of the observed value in this distribution.

The response matrix 'Y' can be in the form of a two-dimensional data matrix of dimension (n x [p x k]) or a 3D array (p x k x n). It is assumed that the landmarks have previously been aligned using Generalized Procrustes Analysis (GPA) [e.g., with gpagen]. The names specified for the independent (x) variables in the formula represent one or more vectors containing continuous data or factors. It is assumed that the order of the specimens in the shape matrix matches the order of values in the independent variables. Linear model fits (using the lm function) can also be input in place of a formula. Arguments for lm can also be passed on via this function.

The SS calculated is the same as the sum of squared Procrustes distances among specimens, as used as a measure of SS in Procrustes ANOVA (see Goodall 1991). Procrustes ANOVA, often used in morphometrics applications is equivalent to distance-based anova designs (Anderson 2001). Unlike procD.lm, this function is strictly for comparison of two nested models. (Use of procD.lm will be more suitable in most cases.) Effect-sizes (Z-scores) are computed as standard deviates of the F or pairwise statistic sampling distributions generated, which might be more intuitive for P-values than F-values (see Collyer et al. 2015). For ANOVA Z-scores, a log-transformation is performed first, to assure a normally distributed sampling distribution.

Pairwise tests have two flavors: 1) tests for differencs in group means (based on vector length between means for pairwise comparisons) and 2) tests for angular differences in slopes between groups. These tests are similar in concept to trajectory analysis (Adams and Collyer 2007; Collyer and Adams 2007; Adams and Collyer 2009; Collyer and Adams 2013), in that pairwise statistics are either vector lengths or angluar differences between vectors. These tests are different than trajectory analysis (seetrajectory.analysis), however, because a factorial model is not explicitly needed to contrast vectors between point factor levels nested within group factor levels. For angluar differences between factor-covariate slopes, either the angle or the vector correlation can be tested. It should be understood that a vector correlation of 1 (parallel vectors), not 0, is the null hypothesis, meaning slopes are the same.

Pairwise tests are only performed if formulae are provided to compute such results. The generic functions, print, summary, and plot all work with advanced.procD.lm. The generic function, plot, produces diagnostic plots for Procrustes residuals of the linear fit. Note that there is an argument in print/summary generic functions to print formulas as row names of the ANOVA table. If formulas are long, it is recommended to make this argument, formula = FALSE, in which case "reduced" and "full" models will be acknowledged.

Notes for geomorph 3.0.4 and subsequent versions

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 optional argument for including a phylogenetic tree of class phylo is included in this function. ANOVA performed on separate PGLS models is analogous to a likelihood ratio test between models (Adams and Collyer 2017). Pairwise tests can also be performed after PGLS estimation of coefficients but users should be aware that no formal research on the statistical properties (type I error rates and statistical power) of pairwise statistics with PGLS has yet been performed. Using PGLS and analysis of pairwise statistics, therefore, assumes some risk.

Value

Function returns an ANOVA table of statistical results for model comparison: error df (for each model), SS, MS, F ratio, Z, and Prand. A list of essentially the same components as procD.lm is also returned, and additionally LS means or slopes, pairwise differences comparisons of these, effect sizes, and P-values may also be returned. If a group formula is provided but slope formula is null, pairwise differences are Procrustes distances between least squares (LS) means for the defined groups. If a slope formula is provided, two sets of pairwise differences, plus effect sizes and P-values, are provided. The first is for differences in slope vector length (magnitude). The length of the slope vector corresponds to the amount of shape change per unit of covariate change. Large differences correspond to differences in the amount of shape change between groups. The second is for slope vector orientation differences. Differences in the direction of shape change (covariance of shape variables) can be summarized as a vector correlation or angle between vectors. See summary.advanced.procD.lm for summary options.

Author(s)

Michael Collyer

References

Adams, D.C., and M.L. Collyer. 2007. The analysis of character divergence along environmental gradients and other covariates. Evolution 61:510-515.

Adams, D.C., and M.L. Collyer. 2009. A general framework for the analysis of phenotypic trajectories in evolutionary studies. Evolution 63:1143-1154.

Adams, D.C. and M.L. Collyer. 2016. On the comparison of the strength of morphological integration across morphometric datasets. Evolution. 70:2623-2631.

Adams, D.C. and M.L. Collyer. 2017. Multivariate comparative methods: evaluations, comparisons, and recommendations. Systematic Biology. In press.

Collyer, M.L., and D.C. Adams. 2007. Analysis of two-state multivariate phenotypic change in ecological studies. Ecology 88:683-692.

Collyer, M.L., and D.C. Adams. 2013. Phenotypic trajectory analysis: comparison of shape change patterns in evolution and ecology. Hystrix 24: 75-83.

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.

See Also

procD.lm, procD.pgls, trajectory.analysis

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
data(plethodon)
Y.gpa<-gpagen(plethodon$land, print.progress = FALSE)    #GPA-alignment
gdf <- geomorph.data.frame(Y.gpa, species = plethodon$species, 
site = plethodon$site)

# Example of a nested model comparison (as with ANOVA with RRPP)
ANOVA <-  advanced.procD.lm(f1= coords ~ log(Csize) + species,
f2= ~ log(Csize)*species*site, iter=99, data = gdf)
summary(ANOVA, formula = FALSE) # formulas too long to print

# Example of a test of a factor interaction, plus pairwise comparisons
PW.means.test <- advanced.procD.lm(f1= coords ~ site*species, f2= ~ site + species, 
groups = ~site*species, iter=99, data = gdf)
summary(PW.means.test, formula = TRUE)

# Example of a test of a factor interaction, plus pairwise comparisons,
# accounting for a common allometry
PW.ls.means.test <- advanced.procD.lm(f1= coords ~ Csize + site*species,
f2= ~ log(Csize) + site + species,
groups = ~ site*species, slope = ~log(Csize), iter = 99, data = gdf)
summary(PW.ls.means.test, formula = TRUE)

# Example of a test of homogeneity of slopes, plus pairwise slopes comparisons
gdf$group <- factor(paste(gdf$species, gdf$site, sep="."))
HOS <- advanced.procD.lm(f1= coords ~ log(Csize) + group,
f2= ~ log(Csize) * group, groups = ~ group,
slope = ~ log(Csize), angle.type = "deg", iter = 99, data = gdf)
summary(HOS, formula = FALSE) # formulas too long to print

# Example of partial pairwise comparisons, given greater model complexity.
# Plus, working with class advanced.procD.lm objects.
aov.pleth <- advanced.procD.lm(f1= coords ~ log(Csize)*site*species,
f2= ~ log(Csize) + site*species, groups = ~ species, 
slope = ~ log(Csize), angle.type = "deg", iter = 99, data = gdf)

summary(aov.pleth, formula = FALSE)  # formulas too long to print

# Diagnostic plots
plot(aov.pleth) 

# Extracting objects from results
aov.pleth$slopes # extract the slope vectors

Example output

Loading required package: rgl
Loading required package: ape
Warning messages:
1: In rgl.init(initValue, onlyNULL) : RGL: unable to open X11 display
2: 'rgl_init' failed, running with rgl.useNULL = TRUE 
3: .onUnload failed in unloadNamespace() for 'rgl', details:
  call: fun(...)
  error: object 'rgl_quit' not found 

  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |======================================================================| 100%
Call:
advanced.procD.lm(f1 = coords ~ log(Csize) + species, f2 = ~log(Csize) *  
    species * site, iter = 99, data = gdf) 



Randomized Residual Permutation Procedure Used
100 Permutations
ANOVA Table

                                                                                                                Df
Y ~ log(Csize) + species                                                                                        37
Y ~ log(Csize) + species + site + log(Csize):species + log(Csize):site + species:site + log(Csize):species:site 32
                                                                                                                     SSE
Y ~ log(Csize) + species                                                                                        0.161167
Y ~ log(Csize) + species + site + log(Csize):species + log(Csize):site + species:site + log(Csize):species:site 0.061718
                                                                                                                      SS
Y ~ log(Csize) + species                                                                                                
Y ~ log(Csize) + species + site + log(Csize):species + log(Csize):site + species:site + log(Csize):species:site 0.099449
                                                                                                                     R2
Y ~ log(Csize) + species                                                                                               
Y ~ log(Csize) + species + site + log(Csize):species + log(Csize):site + species:site + log(Csize):species:site 0.50497
                                                                                                                     F
Y ~ log(Csize) + species                                                                                              
Y ~ log(Csize) + species + site + log(Csize):species + log(Csize):site + species:site + log(Csize):species:site 10.312
                                                                                                                     Z
Y ~ log(Csize) + species                                                                                              
Y ~ log(Csize) + species + site + log(Csize):species + log(Csize):site + species:site + log(Csize):species:site 3.7049
                                                                                                                Pr(>F)
Y ~ log(Csize) + species                                                                                              
Y ~ log(Csize) + species + site + log(Csize):species + log(Csize):site + species:site + log(Csize):species:site   0.01
                                                                                                                 
Y ~ log(Csize) + species                                                                                         
Y ~ log(Csize) + species + site + log(Csize):species + log(Csize):site + species:site + log(Csize):species:site *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1



  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |======================================================================| 100%

Call:
advanced.procD.lm(f1 = coords ~ site * species, f2 = ~site +  
    species, groups = ~site * species, iter = 99, data = gdf) 



Randomized Residual Permutation Procedure Used
100 Permutations
ANOVA Table

                   Df      SSE       SS      R2      F      Z Pr(>F)  
Y ~ site + species 37 0.103307                                        
Y ~ site * species 36 0.072422 0.030885 0.15682 15.352 2.0503   0.02 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


LS means
                [,1]         [,2]      [,3]        [,4]        [,5]
Jord:Allo  0.1375673 -0.028026957 0.1807065 -0.10155107 -0.02759782
Jord:Symp  0.1818847 -0.009361175 0.2051432 -0.07581645 -0.03445020
Teyah:Allo 0.1412630 -0.026137966 0.1834325 -0.08855899 -0.02180185
Teyah:Symp 0.1486144 -0.037420408 0.2038770 -0.11423879 -0.05095224
                   [,6]       [,7]        [,8]       [,9]       [,10]
Jord:Allo  -0.005839169 -0.2782263 -0.09032352 -0.3086050 -0.06131067
Jord:Symp   0.001353557 -0.2819711 -0.09842837 -0.3133572 -0.06357234
Teyah:Allo -0.006014237 -0.2833830 -0.08357927 -0.3099735 -0.05628044
Teyah:Symp -0.017219696 -0.2837167 -0.08515237 -0.3109710 -0.05016883
                [,11]       [,12]      [,13]      [,14]      [,15]      [,16]
Jord:Allo  -0.3245851 -0.03268450 -0.3175089 0.03698736 -0.1871610 0.10378943
Jord:Symp  -0.3269658 -0.04196242 -0.3255172 0.03884412 -0.1891749 0.09966841
Teyah:Allo -0.3243118 -0.03148386 -0.3166538 0.03345601 -0.1944877 0.09604161
Teyah:Symp -0.3281382 -0.02219787 -0.3106110 0.05093924 -0.1821535 0.10188903
                [,17]      [,18]     [,19]      [,20]     [,21]      [,22]
Jord:Allo  0.01690505 0.10513952 0.1823649 0.07773216 0.3860939 0.06161757
Jord:Symp  0.02288845 0.10414806 0.1959483 0.08323795 0.3281301 0.06677592
Teyah:Allo 0.01673795 0.09942955 0.1831434 0.07113497 0.3822965 0.05612317
Teyah:Symp 0.02983953 0.08669627 0.1964149 0.06765543 0.3120035 0.06154423
               [,23]       [,24]
Jord:Allo  0.5400464 -0.06553017
Jord:Symp  0.5374416 -0.10488725
Teyah:Allo 0.5437382 -0.06413055
Teyah:Symp 0.5757932 -0.04232622

LS means distance matrix
            Jord:Allo  Jord:Symp Teyah:Allo Teyah:Symp
Jord:Allo  0.00000000 0.09566672 0.02432519  0.1013670
Jord:Symp  0.09566672 0.00000000 0.09193082  0.1069432
Teyah:Allo 0.02432519 0.09193082 0.00000000  0.0994980
Teyah:Symp 0.10136696 0.10694324 0.09949800  0.0000000

Effect sizes (Z)
             Jord:Allo  Jord:Symp Teyah:Allo  Teyah:Symp
Jord:Allo   0.00000000  1.7689295 -2.7398193 -0.08587505
Jord:Symp   1.76892954  0.0000000 -0.2626904  3.92399547
Teyah:Allo -2.73981930 -0.2626904  0.0000000  2.97661534
Teyah:Symp -0.08587505  3.9239955  2.9766153  0.00000000

P-values
           Jord:Allo Jord:Symp Teyah:Allo Teyah:Symp
Jord:Allo       1.00      0.04       1.00       0.52
Jord:Symp       0.04      1.00       0.58       0.01
Teyah:Allo      1.00      0.58       1.00       0.01
Teyah:Symp      0.52      0.01       0.01       1.00



  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |======================================================================| 100%

Call:
advanced.procD.lm(f1 = coords ~ Csize + site * species, f2 = ~log(Csize) +  
    site + species, groups = ~site * species, slope = ~log(Csize),  
    iter = 99, data = gdf) 



Randomized Residual Permutation Procedure Used
100 Permutations
ANOVA Table

                                Df      SSE       SS      R2      F      Z
Y ~ log(Csize) + site + species 36 0.098490                               
Y ~ Csize + site * species      35 0.068758 0.029732 0.15097 15.134 2.1017
                                Pr(>F)  
Y ~ log(Csize) + site + species         
Y ~ Csize + site * species        0.03 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Slopes
                   [,1]         [,2]        [,3]        [,4]        [,5]
Jord:Allo  -0.039293155 -0.013715755 -0.05344899 -0.03154710 -0.01284185
Jord:Symp   0.003940004 -0.032904998  0.02898185 -0.04736878  0.03557927
Teyah:Allo  0.022404389 -0.032142423  0.04983694 -0.03044028 -0.03782003
Teyah:Symp  0.003561088 -0.005516926 -0.01141225 -0.01614611  0.03070318
                   [,6]         [,7]        [,8]         [,9]         [,10]
Jord:Allo   0.016823690 -0.007330930 -0.02288331 -0.007657079  0.0004574448
Jord:Symp  -0.004057836  0.028614516 -0.05660801  0.011536790 -0.0401657338
Teyah:Allo -0.002386114 -0.011106677  0.01032306 -0.025143982  0.0066496479
Teyah:Symp  0.027274425 -0.008141007  0.02105831 -0.006138369  0.0167575959
                  [,11]         [,12]       [,13]        [,14]        [,15]
Jord:Allo   0.004895723 -0.0007975838  0.01565014  0.005002355  0.039335349
Jord:Symp   0.006603896  0.0536430727  0.02128120  0.041790976 -0.002202036
Teyah:Allo -0.023165472  0.0207659952 -0.01403350 -0.005127519  0.049766923
Teyah:Symp -0.014218084 -0.0135965654 -0.02200098 -0.019498418  0.032506493
                  [,16]        [,17]        [,18]        [,19]        [,20]
Jord:Allo   0.003220763  0.020532823  0.014337481 -0.001164894 -0.003194989
Jord:Symp   0.051109612 -0.066053787  0.014667552 -0.038888960  0.023606216
Teyah:Allo -0.005943741  0.009315002 -0.018203659  0.018307318 -0.008102480
Teyah:Symp -0.021805289 -0.016380012  0.003857302  0.015891406 -0.008375075
                 [,21]        [,22]       [,23]       [,24]
Jord:Allo   0.01330414 0.0028652013  0.02801873  0.02943181
Jord:Symp  -0.08933356 0.0089595115  0.05994082 -0.01267159
Teyah:Allo  0.03089449 0.0116233781 -0.06925539  0.05298414
Teyah:Symp  0.01037929 0.0002746015 -0.01475076  0.01571615


Contrasts in slope vector length
            Jord:Allo  Jord:Symp Teyah:Allo Teyah:Symp
Jord:Allo  0.00000000 0.08861758 0.03832894 0.02173086
Jord:Symp  0.08861758 0.00000000 0.05028863 0.11034843
Teyah:Allo 0.03832894 0.05028863 0.00000000 0.06005980
Teyah:Symp 0.02173086 0.11034843 0.06005980 0.00000000

Effect sizes (Z)
            Jord:Allo  Jord:Symp Teyah:Allo Teyah:Symp
Jord:Allo   0.0000000 -0.2822360 -0.0451864 -0.4751478
Jord:Symp  -0.2822360  0.0000000 -0.6127132 -0.3680096
Teyah:Allo -0.0451864 -0.6127132  0.0000000  0.1162491
Teyah:Symp -0.4751478 -0.3680096  0.1162491  0.0000000

P-values
           Jord:Allo Jord:Symp Teyah:Allo Teyah:Symp
Jord:Allo       1.00      0.54       0.44       0.62
Jord:Symp       0.54      1.00       0.69       0.60
Teyah:Allo      0.44      0.69       1.00       0.36
Teyah:Symp      0.62      0.60       0.36       1.00


Correlations between slope vectors
              Jord:Allo   Jord:Symp   Teyah:Allo Teyah:Symp
Jord:Allo   1.000000000  0.01344423 -0.006345381  0.1577696
Jord:Symp   0.013444232  1.00000000 -0.288490081 -0.3441474
Teyah:Allo -0.006345381 -0.28849008  1.000000000  0.3397717
Teyah:Symp  0.157769567 -0.34414737  0.339771739  1.0000000

Effects sizes (Z)
           Jord:Allo Jord:Symp  Teyah:Allo  Teyah:Symp
Jord:Allo  0.0000000 0.3587318  0.84215766  1.07536386
Jord:Symp  0.3587318 0.0000000  1.26128305  1.97748967
Teyah:Allo 0.8421577 1.2612831  0.00000000 -0.03673395
Teyah:Symp 1.0753639 1.9774897 -0.03673395  0.00000000

P-values
           Jord:Allo Jord:Symp Teyah:Allo Teyah:Symp
Jord:Allo       1.00      0.37       0.22       0.16
Jord:Symp       0.37      1.00       0.11       0.04
Teyah:Allo      0.22      0.11       1.00       0.48
Teyah:Symp      0.16      0.04       0.48       1.00



  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |======================================================================| 100%

Call:
advanced.procD.lm(f1 = coords ~ log(Csize) + group, f2 = ~log(Csize) *  
    group, groups = ~group, slope = ~log(Csize), angle.type = "deg",  
    iter = 99, data = gdf) 



Randomized Residual Permutation Procedure Used
100 Permutations
ANOVA Table

                                          Df      SSE        SS       R2      F
Y ~ log(Csize) + group                    35 0.068671                          
Y ~ log(Csize) + group + log(Csize):group 32 0.061718 0.0069531 0.035306 1.2017
                                                 Z Pr(>F)
Y ~ log(Csize) + group                                   
Y ~ log(Csize) + group + log(Csize):group -0.26875   0.61


Slopes
                   [,1]         [,2]        [,3]        [,4]        [,5]
Jord.Allo  -0.039293155 -0.013715755 -0.05344899 -0.03154710 -0.01284185
Jord.Symp   0.003940004 -0.032904998  0.02898185 -0.04736878  0.03557927
Teyah.Allo  0.022404389 -0.032142423  0.04983694 -0.03044028 -0.03782003
Teyah.Symp  0.003561088 -0.005516926 -0.01141225 -0.01614611  0.03070318
                   [,6]         [,7]        [,8]         [,9]         [,10]
Jord.Allo   0.016823690 -0.007330930 -0.02288331 -0.007657079  0.0004574448
Jord.Symp  -0.004057836  0.028614516 -0.05660801  0.011536790 -0.0401657338
Teyah.Allo -0.002386114 -0.011106677  0.01032306 -0.025143982  0.0066496479
Teyah.Symp  0.027274425 -0.008141007  0.02105831 -0.006138369  0.0167575959
                  [,11]         [,12]       [,13]        [,14]        [,15]
Jord.Allo   0.004895723 -0.0007975838  0.01565014  0.005002355  0.039335349
Jord.Symp   0.006603896  0.0536430727  0.02128120  0.041790976 -0.002202036
Teyah.Allo -0.023165472  0.0207659952 -0.01403350 -0.005127519  0.049766923
Teyah.Symp -0.014218084 -0.0135965654 -0.02200098 -0.019498418  0.032506493
                  [,16]        [,17]        [,18]        [,19]        [,20]
Jord.Allo   0.003220763  0.020532823  0.014337481 -0.001164894 -0.003194989
Jord.Symp   0.051109612 -0.066053787  0.014667552 -0.038888960  0.023606216
Teyah.Allo -0.005943741  0.009315002 -0.018203659  0.018307318 -0.008102480
Teyah.Symp -0.021805289 -0.016380012  0.003857302  0.015891406 -0.008375075
                 [,21]        [,22]       [,23]       [,24]
Jord.Allo   0.01330414 0.0028652013  0.02801873  0.02943181
Jord.Symp  -0.08933356 0.0089595115  0.05994082 -0.01267159
Teyah.Allo  0.03089449 0.0116233781 -0.06925539  0.05298414
Teyah.Symp  0.01037929 0.0002746015 -0.01475076  0.01571615


Contrasts in slope vector length
            Jord.Allo  Jord.Symp Teyah.Allo Teyah.Symp
Jord.Allo  0.00000000 0.08861758 0.03832894 0.02173086
Jord.Symp  0.08861758 0.00000000 0.05028863 0.11034843
Teyah.Allo 0.03832894 0.05028863 0.00000000 0.06005980
Teyah.Symp 0.02173086 0.11034843 0.06005980 0.00000000

Effect sizes (Z)
             Jord.Allo   Jord.Symp Teyah.Allo  Teyah.Symp
Jord.Allo   0.00000000  0.03238409  0.4452477 -0.34919644
Jord.Symp   0.03238409  0.00000000 -0.4673662 -0.04358772
Teyah.Allo  0.44524774 -0.46736625  0.0000000  0.66265462
Teyah.Symp -0.34919644 -0.04358772  0.6626546  0.00000000

P-values
           Jord.Allo Jord.Symp Teyah.Allo Teyah.Symp
Jord.Allo       1.00      0.43       0.40       0.58
Jord.Symp       0.43      1.00       0.69       0.51
Teyah.Allo      0.40      0.69       1.00       0.24
Teyah.Symp      0.58      0.51       0.24       1.00


Angles between slope vectors
           Jord.Allo Jord.Symp Teyah.Allo Teyah.Symp
Jord.Allo    0.00000  89.22968   90.36357   80.92254
Jord.Symp   89.22968   0.00000  106.76758  110.12976
Teyah.Allo  90.36357 106.76758    0.00000   70.13703
Teyah.Symp  80.92254 110.12976   70.13703    0.00000

Effects sizes (Z)
           Jord.Allo Jord.Symp Teyah.Allo Teyah.Symp
Jord.Allo   0.000000  0.476911  1.0233704  1.6321417
Jord.Symp   0.476911  0.000000  1.8157231  2.4972753
Teyah.Allo  1.023370  1.815723  0.0000000  0.1070452
Teyah.Symp  1.632142  2.497275  0.1070452  0.0000000

P-values
           Jord.Allo Jord.Symp Teyah.Allo Teyah.Symp
Jord.Allo       1.00      0.34       0.17       0.06
Jord.Symp       0.34      1.00       0.05       0.01
Teyah.Allo      0.17      0.05       1.00       0.45
Teyah.Symp      0.06      0.01       0.45       1.00



  |                                                                            
  |                                                                      |   0%
  |                                                                            
  |======================================================================| 100%

Call:
advanced.procD.lm(f1 = coords ~ log(Csize) * site * species,  
    f2 = ~log(Csize) + site * species, groups = ~species, slope = ~log(Csize),  
    angle.type = "deg", iter = 99, data = gdf) 



Randomized Residual Permutation Procedure Used
100 Permutations
ANOVA Table

                                               Df      SSE        SS       R2
Y ~ log(Csize) + site + species + site:species 35 0.068671                   
Y ~ log(Csize) * site * species                32 0.061718 0.0069531 0.035306
                                                    F        Z Pr(>F)
Y ~ log(Csize) + site + species + site:species                       
Y ~ log(Csize) * site * species                1.2017 0.016329   0.51


Slopes
              [,1]        [,2]          [,3]        [,4]        [,5]
Jord  -0.081484968 -0.03761677 -0.0648701016 -0.06178754 0.003922133
Teyah  0.007244613 -0.01070130  0.0006410929 -0.01848134 0.017360168
             [,6]         [,7]        [,8]         [,9]        [,10]
Jord  0.003676141  0.003351926 -0.01677718  0.001597638 -0.003321746
Teyah 0.021465694 -0.008738975  0.01889856 -0.009999672  0.014551254
             [,11]        [,12]       [,13]        [,14]      [,15]       [,16]
Jord   0.007569908  0.018788107  0.02469451  0.008206906 0.03193667  0.01536670
Teyah -0.015958614 -0.006784027 -0.02050871 -0.016958249 0.03575095 -0.01869515
             [,17]         [,18]       [,19]        [,20]      [,21]
Jord  -0.001856277  0.0143840140 -0.02302729 -0.005194829 0.06433678
Teyah -0.011425740 -0.0003617453  0.01608166 -0.008239490 0.01617331
             [,22]       [,23]      [,24]
Jord  -0.002487285  0.03382909 0.06676348
Teyah  0.002470573 -0.02662008 0.02283522


Contrasts in slope vector length
            Jord      Teyah
Jord  0.00000000 0.08980823
Teyah 0.08980823 0.00000000

Effect sizes (Z)
           Jord     Teyah
Jord  0.0000000 0.1282002
Teyah 0.1282002 0.0000000

P-values
      Jord Teyah
Jord  1.00  0.43
Teyah 0.43  1.00


Angles between slope vectors
          Jord    Teyah
Jord   0.00000 81.91375
Teyah 81.91375  0.00000

Effects sizes (Z)
          Jord    Teyah
Jord  0.000000 1.960725
Teyah 1.960725 0.000000

P-values
      Jord Teyah
Jord  1.00  0.03
Teyah 0.03  1.00


              [,1]        [,2]          [,3]        [,4]        [,5]
Jord  -0.081484968 -0.03761677 -0.0648701016 -0.06178754 0.003922133
Teyah  0.007244613 -0.01070130  0.0006410929 -0.01848134 0.017360168
             [,6]         [,7]        [,8]         [,9]        [,10]
Jord  0.003676141  0.003351926 -0.01677718  0.001597638 -0.003321746
Teyah 0.021465694 -0.008738975  0.01889856 -0.009999672  0.014551254
             [,11]        [,12]       [,13]        [,14]      [,15]       [,16]
Jord   0.007569908  0.018788107  0.02469451  0.008206906 0.03193667  0.01536670
Teyah -0.015958614 -0.006784027 -0.02050871 -0.016958249 0.03575095 -0.01869515
             [,17]         [,18]       [,19]        [,20]      [,21]
Jord  -0.001856277  0.0143840140 -0.02302729 -0.005194829 0.06433678
Teyah -0.011425740 -0.0003617453  0.01608166 -0.008239490 0.01617331
             [,22]       [,23]      [,24]
Jord  -0.002487285  0.03382909 0.06676348
Teyah  0.002470573 -0.02662008 0.02283522

geomorph documentation built on Aug. 10, 2017, 1:11 a.m.