Introduction

During fieldwork you each walked a transect from dune crest down into the slack, recording the species in each quadrat and measuring environmental variables.

Now comes the detective work: how do we make sense of all those numbers? How do we reduce a messy table of species × plots into something we can actually interpret?

This is where ordination comes in. Ordination methods take complex community data and project it into two dimensions so we can see the hidden gradients. In this practical, you’ll use your own data to explore:

  • What ecological gradients structure the dune vegetation?
  • Which environmental factors explain these gradients?
  • Do the patterns in the ordination match what you saw in the field?

The Tools

We will compare three ordination methods. Each reduces multidimensional data into a simpler map, but they differ in assumptions:

  • PCA (Principal Components Analysis): linear method, best for short gradients.
  • DCA (Detrended Correspondence Analysis): unimodal method, suited to long gradients with strong turnover.
  • NMDS (Non-metric Multidimensional Scaling): flexible, rank-based method, fewer distributional assumptions.

As you look at each ordination, ask yourself: which one gives the clearest ecological story for your data?


By the end of this practical you should be able to

  • Distinguish between PCA, DCA, and NMDS and know when each is appropriate.
  • Interpret ordination diagrams (sites, species, axes) in ecological terms.
  • Link vegetation patterns to measured environmental gradients.

Remember that there are different ways of setting up the data table. Recall the difference between long and wide data formats.
- In long format, each row records a single observation (quadrat–species–abundance).
- In wide format, each row is a quadrat and each column is a species, with the entries giving abundances.

Ordination methods in vegan (e.g. PCA, DCA, NMDS) require the wide format: a quadrat × species matrix.
Below is a sample of that matrix from your dataset (showing only a subset of quadrats and species for clarity).

Sample of the species × quadrat matrix (abundances). The total matrix is 45 quadrats (rows) by 45 species (columns).
Cynaelli Euclrace Helicomo Oleaexas Resteleo Crasfili Metamuri Zalumari
G01a 1.0 25 2 35 5.0 0 0 0
G01b 0.0 45 0 20 5.0 1 1 0
G01c 0.0 0 0 50 0.0 0 2 1
G02a 0.3 0 1 13 0.5 0 10 0
G02b 0.0 65 0 34 1.0 0 1 0
G02c 0.0 0 0 20 0.0 1 0 1

Generating the ordinations for each method

### PCA
# Hellinger transform is often sensible for community data before PCA
dune_hel <- decostand(vegdat_wide, method = "hellinger")
pca <- rda(dune_hel)

### DCA
dca <- decorana(vegdat_wide)


### NMDS
nmds <- metaMDS(vegdat_wide,trace=0,k=5,try=50,trymax=1000)

Interpreting Ordination Axes

Our sampling design followed a transect from dune crest to slack, capturing the full topographic gradient in vegetation structure. During fieldwork we observed marked shifts in composition: crest plots were distinct from slopes and slacks, with characteristic sets of species at each zone.

The first ordination axis is therefore expected to capture the dominant ecological signal: the transition in community composition from crest → slope → slack.

The second ordination axis reflects the within-zone variation among transects. While the broad crest–slope–slack pattern was consistent, each zone showed slight compositional differences, and these are expressed along the second axis.

In the ordinations below, can you see the pattern described above?

PCA

DCA

NMDS

Reporting the Quality of an Ordination

When you look at the ordination summaries above, you’ll see that each method reports different statistics. These values tell us how well the ordination represents the original data. But the catch is: each ordination type has its own measures of “goodness.”

Task:
- Go and find out what metrics are used for PCA, DCA, and NMDS, and what they mean.
- Write a short statement for each ordination in your report, reporting its quality using the appropriate measure(s).

Hints:

  • PCA: Look at eigenvalues / proportion of variance explained. Report how much variation in species data is captured by the first few axes.
  • DCA: Check axis lengths and eigenvalues. Long axis lengths (>4 SD units) imply strong species turnover, while shorter ones suggest weaker gradients.
  • NMDS: Report the stress value. A stress <0.1 is excellent, <0.2 is usable, >0.3 is poor. Always mention stress in your write-up.

Notice how there isn’t a single universal statistic across ordinations — you must use the metric that belongs to that method.

Below are the outputs from each ordination…

pca
## Call: rda(X = dune_hel)
## 
##               Inertia Rank
## Total          0.6238     
## Unconstrained  0.6238   41
## Inertia is variance 
## 
## Eigenvalues for unconstrained axes:
##     PC1     PC2     PC3     PC4     PC5     PC6     PC7     PC8 
## 0.16916 0.12278 0.09288 0.04900 0.04357 0.02881 0.01770 0.01602 
## (Showing 8 of 41 unconstrained eigenvalues)
dca
## 
## Call:
## decorana(veg = vegdat_wide) 
## 
## Detrended correspondence analysis with 26 segments.
## Rescaling of axes with 4 iterations.
## Total inertia (scaled Chi-square): 4.3355 
## 
##                        DCA1   DCA2   DCA3   DCA4
## Eigenvalues          0.6214 0.4705 0.2947 0.3080
## Additive Eigenvalues 0.6214 0.4634 0.2922 0.2707
## Decorana values      0.6246 0.4113 0.2658 0.1531
## Axis lengths         3.9524 3.1264 2.6453 1.9409
nmds
## 
## Call:
## metaMDS(comm = vegdat_wide, k = 5, try = 50, trymax = 1000, trace = 0) 
## 
## global Multidimensional Scaling using monoMDS
## 
## Data:     wisconsin(sqrt(vegdat_wide)) 
## Distance: bray 
## 
## Dimensions: 5 
## Stress:     0.08698165 
## Stress type 1, weak ties
## Best solution was repeated 1 time in 50 tries
## The best solution was from try 50 (random start)
## Scaling: centring, PC rotation, halfchange scaling 
## Species: expanded scores based on 'wisconsin(sqrt(vegdat_wide))'

As you can see above, each ordination method has its own way of reporting how well it represents the data.
When writing up your results, make sure you report the appropriate statistic(s).

Use the details below to extract the necessary information from the R output above.

  • PCA (Principal Components Analysis)
    • Report the eigenvalues and the percentage of variance explained by the first few axes.
    • Example: calculate % variance = eigenvalue / total inertia × 100.
    • Always state how much of the total variation is captured by the ordination axes you interpret (e.g. “The first two axes capture 39% of the total variation”.)
  • DCA (Detrended Correspondence Analysis)
    • Report the eigenvalues of the first axes.
    • Also report axis lengths (in SD units) — values > 4 indicate complete species turnover, values around 3 indicate substantial turnover, shorter lengths suggest weaker gradients.
    • Mention what this means ecologically for your transect.
  • NMDS (Non-metric Multidimensional Scaling)
    • Report the stress value (a measure of fit between the ordination and the distance matrix).
    • Rules of thumb: <0.1 = excellent; 0.1–0.2 = usable; >0.3 = poor.
    • Always include the number of dimensions used and whether the solution was stable across random starts.

What Else Should Be Reported?

In addition to the formal metrics, think about these:
- Number of dimensions chosen: Did you use 2, 3, or more axes? Why?
- Interpretability: Does the ordination separate crest, slope, and slack in a way that matches your ecological knowledge?
- Biological meaning: Even if an ordination has a “good” metric, it must still make ecological sense.

In other words, don’t just report numbers — explain what they mean for your dune transect dataset.


Adding Group Structure to Ordinations

A raw ordination plot of points is often hard to interpret on its own. To make patterns clearer, ecologists overlay group structures that summarise how plots relate to one another. Common options include:

  • Convex hulls: draw the smallest polygon around all plots in a group, showing their overall spread.
  • Ordispiders: connect each plot to its group centroid, highlighting variation within groups.
  • Ellipses: plot statistical confidence regions around group centroids, showing the “core space” of each group.

These tools make ordinations far more useful by helping us see whether groups of plots (e.g. crest, slope, slack) are distinct, overlapping, or highly variable. In other words, ordination visualisation usually requires adding these layers — the raw scatter of points alone rarely tells the full story.

Below are the ordination plots with convex hulls.
A convex hull is the smallest polygon that encloses a set of points, helping us visualise the overall spread of quadrats belonging to the same habitat group.

For this analysis, quadrats were grouped as follows:

  • Crest: quadrats 1–3
  • Slope: quadrats 5–8
  • Slack: quadrats 12–15

Because the transects were not identical, quadrats 4 and 9–11 were excluded.
This provides the clearest representation of the crest, slope, and slack habitats.

PCA

DCA

NMDS

In addition to convex hulls, another useful way to show group structure in ordinations is with ordispiders.
An ordispider draws straight lines from the group centroid (the average position of all plots in that group) to each of the individual plots.

This allows you to see:

  • how tightly or loosely the plots in a group cluster around their centroid,
  • whether some plots are outliers compared to the rest of the group, and
  • differences in spread between groups (e.g., crest vs. slope vs. slack).

In ecological terms, a shorter set of spider lines means the group is relatively homogeneous in species composition, while longer lines suggest more variation within that habitat type.

PCA

DCA

NMDS

Environmental Drivers

Ordinations show patterns — but what drives them? This is where your environmental measurements come in.

Here we use the envfit() function to see which environmental variables are correlated with the ordination axes. However, just a note about the output of the envfit() function — what you see in the printed output of envfit() are only the direction cosines, which tell you the direction of the arrow in ordination space if its length were fixed at 1. However, these raw values are not what gets plotted. To draw the arrows, the values are first adjusted by the strength of the fit: the arrow is multiplied by the square root of R² so that strong predictors appear longer and weak predictors shorter. After that, all arrows are further adjusted by a common scaling constant so that they fit neatly inside the ordination plot. This final scaling does not change their relative sizes, only their absolute placement in the figure. Therefore, when plotting, what you need to use are these adjusted coordinates—direction cosines scaled by √R² and then rescaled by the plotting function—rather than the raw printed values. Thus, when you interpret the arrows on an ordination, remember that they are rescaled based on their R² values.

Height Above the Slacks: A Key Gradient

One of the simplest but most powerful variables you measured was the height of each quadrat above the dune slacks. This captures the key environmental gradient from the wettest slacks, up the slopes, and onto the dry dune crests — the same gradient you observed in the field.

To illustrate how ordinations link environmental data to species composition, we plot this variable in two complementary ways:

  1. Raw data — Each quadrat is coloured and sized according to its measured height. This shows the actual distribution of values across ordination space.
  2. Arrow from envfit — The vector points in the direction of maximum correlation between height and the ordination axes, with its length reflecting the strength of the relationship.

By combining the visual gradient of the raw data with the summary arrow from the environmental fit, you can see both the underlying measurements and their statistical interpretation. This demonstrates what an environmental arrow means: it is not abstract, but a concise summary of real field data.

PCA

DCA

NMDS

It is important to note that not all environmental variables will align with the ordination axes. Some may show little or no pattern across the plots, meaning they are not strongly related to the gradients captured in the ordination. For example, soil pH in this system ranges only slightly (7.8–8.4) and shows almost no meaningful separation between crest, slope, and slack quadrats.

Soil pH

We first explore soil pH (ranging from 7.8 to 8.4) by overlaying it on the ordination diagrams and by comparing crest, slope, and slack quadrats using box-and-whisker plots.

Both approaches show that pH does not form a strong gradient across the transects. While the slacks appear to be slightly less alkaline than the crest and slope quadrats, this difference is very small and not biologically meaningful.

In other words, soil pH is relatively uniform across the dune system, and is unlikely to be a major driver of the observed vegetation patterns compared to other environmental factors.

DCA

Box-and-whisker plots

Height above slacks vs soil pH

Soil moisture

In contrast to pH, soil moisture percentage shows a much clearer trend across the transects.
When plotted onto the ordination diagrams, soil moisture increases steadily from the drier dune crests, through the intermediate slopes, and into the wetter dune slacks.

This pattern is also visible in the box-and-whisker plots: crest quadrats have the lowest moisture values, slope quadrats are intermediate, and slack quadrats are the wettest.
These differences are ecologically meaningful, as soil water availability is a major factor shaping species distributions and vegetation structure in dune systems.

DCA

Box-and-whisker plots

Ht vs soil moisture

Reading Multiple Environmental Arrows

When many variables are fitted, interpret vectors systematically:

  • Direction: points toward increasing values of the variable.
  • Angle: alignment with an axis ≈ stronger correlation with that axis.
  • Length: proportional to correlation strength (not effect size on its own). Always report and permutation p.
  • Crowding & collinearity: highly parallel arrows often indicate correlated variables; don’t over-interpret both.
  • Continuous vs categorical:
    • Continuous → arrows (vectors).
    • Factors → group centroids (and optionally hulls/ellipses).
  • Significance & multiple testing: filter to meaningful arrows (e.g., p < 0.05, BH-adjusted). Show the rest faintly or hide.
  • Scaling: arrows are scaled relative to each other; annotate with r² so their meaning is explicit.
  • Biological sense-check: numbers help, but keep/feature variables that explain the crest → slope → slack story.

Indirect comparison

Remember that there are two approaches to using vegetation and environmental data in ordinations: the indirect comparison where (typically) the ordination is generated from the vegetation data and the environmental variables are correlated with each axis in the ordination OR the direct comparison where the vegetation and environmental variables are both used in concert to generate the ordination. Here I show the first approach.

Each ordination can be correlated with the environmental variables using the envfit() function. Below is the output of the this indirect comparison. To interpret these, focus on three columns:

  • : how strongly the variable is related to the ordination pattern. Larger values = stronger fit.
  • Pr(>r): the permutation test p-value. Small values (e.g. < 0.05) mean the fit is unlikely to be due to chance.
  • Direction (PC1/PC2, DCA1/DCA2, NMDS1/NMDS2 values): the vector points in the direction where the variable increases across ordination space (best viewed on the graph).
  • Length: I have calculated the positions of each arrow (\*_rescaled) which is the position for the arrow. This is calculated by calculation the square-root of the r-squared value (so just the r value now), multiplying the direction values by r, and then applying a secondary rescaling to improve the fit on the ordination. Why is this rescaling OK? It is because we are interested in the arrow lengths relative to one another, not necessarily the axes themselves.

Task

  • Identify which variables are most strongly related to vegetation patterns (highest r², significant p).
  • Identify which variables are weak or not significant (low r², high p).
  • Comment on whether these patterns are ecologically meaningful for the dune crest → slope → slack gradient.

Use the numbers in the tables below to write short interpretations for each ordination.

PCA

## [1] "Output from the envfit() function"
PC1 PC2 r2 p sig PC1_rescaled PC2_rescaled
Soil_pH -0.9285 -0.3714 0.146 0.036
-0.3549 -0.142
OrgContent% 0.8394 -0.5435 0.144 0.033
0.319 -0.2065
SoilMoisture_% 0.9901 -0.1405 0.326 0.001 *** 0.5654 -0.0802
HeightAboveLowestPoint_m -0.9629 0.2700 0.763 0.001 *** -0.8412 0.2359
LightInfiltation -0.8098 0.5867 0.069 0.224 -0.2128 0.1542
CanopyCover -0.0779 -0.9970 0.030 0.514 -0.0134 -0.1722

DCA

DCA1 DCA2 r2 p sig DCA1_rescaled DCA2_rescaled
Soil_pH -0.9670 -0.2547 0.106 0.085 . -0.3149 -0.0829
OrgContent% 0.9989 -0.0466 0.180 0.020
0.4234 -0.0197
SoilMoisture_% 0.8117 0.5841 0.285 0.003 ** 0.4334 0.3118
HeightAboveLowestPoint_m -0.9980 0.0626 0.675 0.001 *** -0.82 0.0514
LightInfiltation -0.7770 -0.6295 0.014 0.746 -0.0922 -0.0747
CanopyCover -0.6717 0.7409 0.035 0.476 -0.1257 0.1387

NMDS

DCA1 DCA2 r2 p sig DCA1_rescaled DCA2_rescaled
Soil_pH -0.9670 -0.2547 0.106 0.085 . -0.3149 -0.0829
OrgContent% 0.9989 -0.0466 0.180 0.020
0.4234 -0.0197
SoilMoisture_% 0.8117 0.5841 0.285 0.003 ** 0.4334 0.3118
HeightAboveLowestPoint_m -0.9980 0.0626 0.675 0.001 *** -0.82 0.0514
LightInfiltation -0.7770 -0.6295 0.014 0.746 -0.0922 -0.0747
CanopyCover -0.6717 0.7409 0.035 0.476 -0.1257 0.1387

Exploring plant species in ordinations

In this section we focus on the species (the “descriptors”) in ordination space—how they are plotted, what their positions mean, and how to interpret them.

  • In the first tab, the ordination is shown with species points added (green dots with names, except where labels would be too crowded). The quadrats are shown as grey dots in the background for context.

  • In the next tab, I present the results of an envfit() analysis, which tests how strongly each species correlates with the ordination axes.

  • In the following tab, the ordination is also displayed with species coloured, to aid interpretation, according to whether their correlation is statistically significant (here, p < 0.10) or not.

Task: Find species in the ordination plots and compare their placement with their statistics in the envfit table. Which species positions are strongly supported by the data, and which are not?

PCA 1

PCA Species scores

The table shows the direction cosines of each species vector (PC1 and PC2), the coefficient of determination (r²) indicating the strength of correlation with the ordination, and the permutation-based p-value for significance.
Species PC1 PC2 r2 p_value sig_codes
Anthaeth 0.9215 -0.3885 0.01 0.873
Aspaafri -0.3082 -0.9513 0.04 0.466
Carpdeli 0.1547 -0.9880 0.02 0.654
Chaecamp 0.8044 -0.5941 0.06 0.235
Chendiff -0.8016 0.5979 0.07 0.216
Chirbacc 0.6287 0.7777 0.10 0.063 .
Colepulc 0.3459 -0.9383 0.46 0.001 ***
Colpcomp -0.9948 -0.1017 0.04 0.444
Crasfili -0.6696 0.7427 0.00 0.958
Crasglom -0.1248 -0.9922 0.05 0.364
Cynaelli -0.7919 0.6106 0.11 0.042
Ehrherec -0.9501 -0.3119 0.05 0.313
Elegmicr 0.9387 -0.3448 0.02 0.715
Eleolimo -0.8020 0.5974 0.16 0.024
Euclrace -0.8983 0.4395 0.15 0.025
Feliechi -0.8606 0.5093 0.10 0.100 .
Felilati -0.9387 -0.3449 0.06 0.234
Ficibulb -0.9742 0.2259 0.04 0.500
Ficicape 0.9791 -0.2035 0.08 0.185
Ficiramo 0.5149 -0.8572 0.11 0.070 .
Helicomo -0.8215 0.5703 0.11 0.053 .
Helitere 0.7862 -0.6180 0.02 0.801
Indiglau 0.9966 -0.0820 0.03 0.658
Laurtetr -0.5844 -0.8115 0.02 0.625
Meseaito 0.4664 -0.8846 0.04 0.563
Metamuri -0.2122 -0.9772 0.36 0.001 ***
Morequer -0.0294 0.9996 0.17 0.013
Oleaexas -0.9145 0.4046 0.77 0.001 ***
Oxaldepr -0.9742 0.2259 0.04 0.500
Oxalpunc -0.9793 0.2024 0.04 0.527
Passcory 0.9101 0.4143 0.34 0.001 ***
Passrigi 0.7986 0.6019 0.05 0.390
Phyleric 0.7983 0.6022 0.54 0.001 ***
Plecserp -0.9977 0.0671 0.06 0.255
Rapagill -0.8643 -0.5030 0.04 0.494
Resteleo 0.8623 0.5063 0.15 0.013
Robsmari -0.1595 -0.9872 0.05 0.400
Searcren 0.2007 -0.9797 0.06 0.257
Searglau -0.7441 0.6680 0.01 0.884
Searlaev 0.1644 -0.9864 0.04 0.493
Seneangu 0.6591 0.7520 0.06 0.258
Senepurp 0.8168 -0.5769 0.05 0.329
Sileundu -0.8020 0.5974 0.16 0.024
Vellvell -0.0106 -0.9999 0.06 0.271
Zalumari -0.8398 0.5429 0.17 0.024

PCA 2

DCA

DCA species scores

The table shows the direction cosines of each species vector (DCA1 and DCA2), the coefficient of determination (r²) indicating the strength of correlation with the ordination, and the permutation-based p-value for significance.
Species DCA1 DCA2 r2 p_value sig_codes
Anthaeth 0.5689 -0.8224 0.03 0.546
Aspaafri -0.3820 0.9242 0.04 0.419
Carpdeli 0.2325 -0.9726 0.08 0.204
Chaecamp 0.9426 0.3338 0.03 0.621
Chendiff -0.3724 -0.9281 0.06 0.244
Chirbacc 0.9362 0.3515 0.03 0.626
Colepulc 0.5429 -0.8398 0.10 0.106
Colpcomp -0.9561 -0.2932 0.04 0.378
Crasfili 0.1836 -0.9830 0.09 0.131
Crasglom -0.3008 0.9537 0.15 0.042
Cynaelli -0.9983 0.0582 0.05 0.342
Ehrherec -0.9351 0.3543 0.08 0.143
Elegmicr 0.0746 0.9972 0.16 0.018
Eleolimo -0.6419 -0.7668 0.10 0.111
Euclrace -0.9551 0.2964 0.19 0.008 **
Feliechi -0.6947 -0.7193 0.07 0.228
Felilati -0.5890 0.8081 0.05 0.348
Ficibulb -0.7555 0.6551 0.02 0.745
Ficicape 0.9191 -0.3941 0.07 0.242
Ficiramo 0.9977 -0.0674 0.02 0.710
Helicomo -0.9949 0.1008 0.05 0.332
Helitere 0.3178 0.9481 0.08 0.152
Indiglau 0.6858 -0.7278 0.04 0.560
Laurtetr 0.0540 -0.9985 0.25 0.004 **
Meseaito 0.9157 -0.4018 0.01 0.890
Metamuri -0.3261 0.9453 0.70 0.001 ***
Morequer 0.2273 -0.9738 0.00 0.989
Oleaexas -0.7837 -0.6211 0.68 0.001 ***
Oxaldepr -0.7555 0.6551 0.02 0.745
Oxalpunc -0.4677 -0.8839 0.06 0.244
Passcory 0.7569 -0.6536 0.36 0.001 ***
Passrigi 0.9272 0.3745 0.06 0.259
Phyleric 0.9516 0.3074 0.46 0.001 ***
Plecserp -0.9405 0.3398 0.10 0.100 .
Rapagill -0.2108 -0.9775 0.07 0.207
Resteleo 0.9996 -0.0289 0.12 0.061 .
Robsmari -0.3271 0.9450 0.12 0.079 .
Searcren -0.1600 0.9871 0.03 0.555
Searglau 0.2310 -0.9729 0.01 0.807
Searlaev -0.2346 0.9721 0.13 0.040
Seneangu 0.7000 0.7142 0.10 0.071 .
Senepurp 0.5678 0.8232 0.03 0.529
Sileundu -0.6419 -0.7668 0.10 0.111
Vellvell -0.2669 0.9637 0.13 0.038
Zalumari -0.6024 -0.7982 0.12 0.066 .

DCA 2

NMDS

NMDS species scores

The table shows the direction cosines of each species vector (NMDS1 and NMDS22), the coefficient of determination (r²) indicating the strength of correlation with the ordination, and the permutation-based p-value for significance.
Species NMDS1 NMDS2 r2 p_value sig_codes
Anthaeth 0.1733 0.9849 0.03 0.605
Aspaafri -0.9869 0.1613 0.00 0.969
Carpdeli -0.0750 0.9972 0.07 0.215
Chaecamp 0.7713 0.6365 0.06 0.252
Chendiff -0.9636 -0.2672 0.09 0.186
Chirbacc 0.5624 -0.8269 0.10 0.136
Colepulc 0.1962 0.9806 0.51 0.001 ***
Colpcomp -0.9588 0.2840 0.05 0.296
Crasfili -0.8763 0.4817 0.02 0.616
Crasglom -0.1369 0.9906 0.01 0.804
Cynaelli -0.4296 -0.9030 0.15 0.018
Ehrherec -0.8462 0.5328 0.04 0.412
Elegmicr 0.8624 -0.5063 0.06 0.292
Eleolimo -0.7035 -0.7107 0.18 0.020
Euclrace -0.8387 -0.5445 0.12 0.069 .
Feliechi -0.4515 -0.8923 0.10 0.081 .
Felilati -0.4564 -0.8898 0.08 0.138
Ficibulb -0.2694 -0.9630 0.13 0.031
Ficicape 0.8111 0.5850 0.11 0.091 .
Ficiramo 0.4319 0.9019 0.11 0.084 .
Helicomo -0.3983 -0.9172 0.18 0.014
Helitere 0.9196 0.3928 0.04 0.476
Indiglau 0.9492 0.3146 0.03 0.588
Laurtetr -0.4319 0.9019 0.19 0.012
Meseaito 0.4748 0.8801 0.03 0.584
Metamuri -0.2095 0.9778 0.08 0.160
Morequer 0.1112 -0.9938 0.32 0.001 ***
Oleaexas -0.9153 -0.4027 0.64 0.001 ***
Oxaldepr -0.2694 -0.9630 0.13 0.031
Oxalpunc -0.8600 0.5103 0.05 0.367
Passcory 0.9807 -0.1955 0.15 0.029
Passrigi 0.8589 -0.5122 0.06 0.276
Phyleric 0.8239 -0.5667 0.59 0.001 ***
Plecserp -0.9995 0.0323 0.04 0.463
Rapagill -0.7081 0.7061 0.10 0.114
Resteleo 0.8486 -0.5290 0.10 0.102
Robsmari 0.0981 0.9952 0.00 0.924
Searcren 0.2664 0.9639 0.08 0.132
Searglau -0.9524 0.3048 0.02 0.704
Searlaev 0.3940 0.9191 0.01 0.846
Seneangu 0.6876 -0.7261 0.11 0.108
Senepurp 0.6057 0.7957 0.09 0.113
Sileundu -0.7035 -0.7107 0.18 0.020
Vellvell 0.0516 0.9987 0.02 0.744
Zalumari -0.9625 -0.2713 0.22 0.002 **

NMDS 2

Species positions vs. significance in ordinations

A common misconception is that the location of a species point in the ordination plot automatically indicates its importance.
This is not the case.

  • Species scores (the positions in the ordination diagram) show the average composition-weighted location of that species relative to the quadrats. They tell you where a species tends to occur, but not how strongly it drives the overall pattern.

  • Significance and r² values from envfit quantify how well a species’ distribution aligns with the main gradients captured by the ordination axes.

    • A species might plot far from the origin simply because it is tied to a few unusual plots, but that does not mean it explains much of the overall variation.
    • Conversely, another species might sit near the origin yet still show a strong, statistically significant fit if its distribution matches the major ecological gradients.

In other words:
- Position = where the species occurs.
- Significance (r², p-value) = whether that species explains the main gradients.

Analogy

Think of an ordination like a lecture hall: two students might be sitting right next to each other. One is paying close attention and contributes insightful questions that shape the discussion (high r², significant). The other is catching up on their social media and not paying attention, present but not really influencing the direction of the lecture (low r², not significant).

The same applies to species in ordination space — proximity alone doesn’t tell you their importance. What matters is whether their pattern of occurrence actually aligns with the major ecological gradients captured by the analysis.


Understanding Species Coordinates

To deepen your understanding of species points in ordination space, examine the plots below.

  • Each panel shows one species.
  • The green diamond marks the species’ ordination coordinate (its statistical “summary position”).
  • Quadrats where the species is present are plotted, with point size and colour scaled to percentage cover.
  • Grey crosses mark quadrats where the species is absent.

Task:
1. Compare the location of the species coordinate (diamond) to the distribution of its quadrats.
- Does the coordinate lie near the centre of where the species is most abundant?
- Can you find examples where two species have nearby coordinates, but very different abundance patterns?

  1. Go back to the envfit results table for species.
    • Look at the r² values (strength of relationship with the ordination axes).
    • Look at the p-values (significance of the relationship).
  2. Reflect:
    • Do species with high r² and low p show clearer, more interpretable patterns in the ordination plots?
    • Do species with low r² or high p look more scattered or less aligned with the ordination axes?

This exercise will help you connect the visualisation of species occurrence with the statistical tests that quantify their importance in shaping ordination patterns.
:::

PCA all species

DCA all species

NMDS all species


Writing Up Your Report

Your final task is to write up the Methods, Results, and a short Discussion for this practical.
Use this document as your data source: you may quote numbers from the summaries, copy plots, or crop figures to support your points. You must generate a hand-drawn ordination, with some grouping of the plots (e.g. by zone), include the environmental variables and some of the important species.

What to Include

  • Methods: Briefly describe how the vegetation and environmental data were collected, how the quadrat × species matrix was set up, and which ordination methods were used. Keep this short and clear.
  • Results: Present your ordination outputs. You must primarily use your hand-drawn ordination, but you can additionally use plots provided here (whole figures or cropped sections) and report the quality statistics (i.e., variance explained, axis lengths, stress). Highlight the main ecological patterns you see.
  • Discussion: Reflect on the strengths and weaknesses of PCA, DCA, and NMDS for this dataset. Which method gives the clearest story of crest → slope → slack? Why?
    • Point out the most important environmental variables and how they relate to the vegetation patterns.
    • Identify some species that strongly match the gradients and others that do not.
    • Comment on whether the ordinations confirm what you observed in the field.

Key Reminder

Numbers and plots are essential, but your write-up should explain their meaning in plain language. Focus on telling the ecological story of the dune system rather than just repeating output.

Raw ordination data

Below are the Eigenvalues for each of the ordinations - these can be used to draw your ordination on graph paper. You can find the environmental variables above.

PCA

##                    PC1           PC2   score    label
## Cynaelli -0.0200163212  0.0122333129 species Cynaelli
## Euclrace -0.2217770054  0.0518482148 species Euclrace
## Helicomo -0.0301821607  0.0163499716 species Helicomo
## Oleaexas -0.8234238574  0.3252109789 species Oleaexas
## Resteleo  0.3058075545  0.1784317272 species Resteleo
## Crasfili -0.0450191209  0.0304080975 species Crasfili
## Metamuri -0.1868041062 -0.5118096665 species Metamuri
## Zalumari -0.0313499868  0.0205399818 species Zalumari
## Felilati -0.0246643774 -0.0094197933 species Felilati
## Ficibulb -0.0052831656  0.0012251455 species Ficibulb
## Morequer  0.0146234368  0.1326210563 species Morequer
## Oxaldepr -0.0052831656  0.0012251455 species Oxaldepr
## Ehrherec -0.0368930622 -0.0140418365 species Ehrherec
## Ficiramo  0.0360707978 -0.0684127446 species Ficiramo
## Plecserp -0.0466193709  0.0034895479 species Plecserp
## Chendiff -0.0219587701  0.0163802918 species Chendiff
## Eleolimo -0.0283304878  0.0211072620 species Eleolimo
## Laurtetr -0.0670316385 -0.0367437034 species Laurtetr
## Sileundu -0.0283304878  0.0211072620 species Sileundu
## Aspaafri -0.0034907596 -0.0084995666 species Aspaafri
## Colepulc  0.2458373368 -0.6285455413 species Colepulc
## Rapagill -0.0436590780 -0.0458525139 species Rapagill
## Searcren  0.0175783876 -0.0729965456 species Searcren
## Colpcomp -0.0336854879 -0.0033937529 species Colpcomp
## Feliechi -0.0264753556  0.0161064738 species Feliechi
## Elegmicr  0.0199803322 -0.0007816465 species Elegmicr
## Ficicape  0.0910298183 -0.0454766890 species Ficicape
## Helitere  0.0581534643 -0.0175554642 species Helitere
## Searglau -0.0282450074  0.0067492260 species Searglau
## Chaecamp  0.0259134297 -0.0204614568 species Chaecamp
## Carpdeli  0.0289666869 -0.0724898761 species Carpdeli
## Robsmari -0.0019036418 -0.0117792914 species Robsmari
## Seneangu  0.0104359170  0.0078245322 species Seneangu
## Senepurp  0.0365235835 -0.0222808968 species Senepurp
## Oxalpunc -0.0095469850  0.0019727089 species Oxalpunc
## Crasglom -0.0006063342 -0.0048196664 species Crasglom
## Searlaev  0.0239906226 -0.0199646178 species Searlaev
## Vellvell  0.0009322704 -0.0094443760 species Vellvell
## Phyleric  0.4805481766  0.3458423759 species Phyleric
## Anthaeth  0.0255806336 -0.0038843891 species Anthaeth
## Meseaito  0.0144662185 -0.0105177172 species Meseaito
## Passcory  0.4839361079  0.2629130655 species Passcory
## Passrigi  0.0249087580  0.0187744069 species Passrigi
## Chirbacc  0.0218529116  0.0270314777 species Chirbacc
## Indiglau  0.0194708326 -0.0016010264 species Indiglau
## G01a     -0.4694035040  0.4368166183   sites     G01a
## G01b     -0.4033405963  0.3255381586   sites     G01b
## G01c     -0.6034743248  0.3416300244   sites     G01c
## G02a     -0.4631386158  0.1074000378   sites     G02a
## G02b     -0.4523188431  0.3020773497   sites     G02b
## G02c     -0.4880698957  0.3640790104   sites     G02c
## G03a     -0.2525257182 -0.3477711189   sites     G03a
## G03b     -0.3199768795 -0.0667022025   sites     G03b
## G03c     -0.5407743749  0.4022937696   sites     G03c
## G04a     -0.1194261483 -0.4117270293   sites     G04a
## G04b     -0.2711685627 -0.1405550246   sites     G04b
## G04c     -0.5349996716  0.4619885750   sites     G04c
## G05a     -0.1778539841 -0.4564240386   sites     G05a
## G05b     -0.2830056006 -0.2608008476   sites     G05b
## G05c     -0.3210755049 -0.0085646048   sites     G05c
## G06a     -0.0802862075 -0.4967923367   sites     G06a
## G06b      0.1641940303 -0.3745506364   sites     G06b
## G06c     -0.4331463213  0.0895017213   sites     G06c
## G07a     -0.0635301357 -0.5049922725   sites     G07a
## G07b      0.0662921977 -0.3860816498   sites     G07b
## G07c     -0.3080852102 -0.0760138628   sites     G07c
## G08a      0.2879721455 -0.2777453064   sites     G08a
## G08b      0.1441653410 -0.4897400075   sites     G08b
## G08c     -0.2666601243 -0.0900851295   sites     G08c
## G09a      0.1086999516 -0.5562885943   sites     G09a
## G09b      0.1879293568 -0.5057688607   sites     G09b
## G09c      0.1036709479 -0.3688599558   sites     G09c
## G10a      0.1737157381 -0.1753208717   sites     G10a
## G10b      0.1709060814 -0.4110034565   sites     G10b
## G10c      0.1325869984 -0.1100504058   sites     G10c
## G11a      0.3827224520  0.4898223675   sites     G11a
## G11b      0.3512254867 -0.0706180892   sites     G11b
## G11c      0.1724230672  0.0319551818   sites     G11c
## G12a      0.3914813559  0.2950701225   sites     G12a
## G12b      0.4160485603  0.2401376581   sites     G12b
## G12c      0.1762481907  0.0572412938   sites     G12c
## G13a      0.4644041013  0.5654986648   sites     G13a
## G13b      0.4583860873  0.2668244272   sites     G13b
## G13c     -0.0001694069  0.2194905921   sites     G13c
## G14a      0.4507263144  0.5575366138   sites     G14a
## G14b      0.3939969130  0.0410336492   sites     G14b
## G14c      0.3950644111 -0.0324849255   sites     G14c
## G15a      0.4635737935  0.5776036473   sites     G15a
## G15b      0.5074633511  0.2453647186   sites     G15b
## G15c      0.2885327569  0.2000370255   sites     G15c

DCA

##                 DCA1        DCA2        DCA3         DCA4   score    label
## G01a     -1.51008115 -0.28549004  0.25883489  0.004467390   sites     G01a
## G01b     -1.36549587 -0.01442174 -0.12932457  0.537764637   sites     G01b
## G01c     -1.83982916 -0.89192868  0.60036332 -0.620788514   sites     G01c
## G02a     -1.25280421  0.36652957  0.57023718 -0.041320316   sites     G02a
## G02b     -1.53251208 -0.04978933 -0.22322233  0.416876757   sites     G02b
## G02c     -1.58805938 -1.53538592  0.41784973 -0.656345477   sites     G02c
## G03a     -0.66075013  0.56938237  0.20389502  0.273624682   sites     G03a
## G03b     -1.00161406  0.15632816  0.04946374  0.349956877   sites     G03b
## G03c     -1.51234070 -0.63919442  0.67048763 -0.800236188   sites     G03c
## G04a     -0.42460118  0.75285781 -0.02771723  0.431117051   sites     G04a
## G04b     -0.58145061 -0.39414278 -0.29884677 -0.424400350   sites     G04b
## G04c     -1.70205742 -0.88388425  0.54694311 -0.684448336   sites     G04c
## G05a     -0.70003921  1.53350281  0.28058259  0.890993017   sites     G05a
## G05b     -0.65888861 -0.04193560 -0.19433034 -0.115237098   sites     G05b
## G05c     -0.90366175 -0.76803811 -0.58887608  0.322846352   sites     G05c
## G06a     -0.61313910  1.49018241  0.27586756  0.861274685   sites     G06a
## G06b      0.25069049 -0.09256751 -0.21059449 -0.047963472   sites     G06b
## G06c     -1.21997963 -1.00216872  0.45726691 -0.718295527   sites     G06c
## G07a     -0.53295542  1.59098332  0.03695420  0.957793004   sites     G07a
## G07b      0.01246548  0.84524263  0.25576690  0.635456744   sites     G07b
## G07c     -0.68630128 -0.78576952 -0.23065288 -0.416323633   sites     G07c
## G08a      0.71491391 -0.06317763 -0.59810533 -0.481342131   sites     G08a
## G08b      0.17036319  0.40791564 -0.03321078 -0.029153427   sites     G08b
## G08c     -0.62076265 -0.92249581  0.48780259 -0.814104404   sites     G08c
## G09a      0.04900123  0.47487373 -0.13532818  0.084376340   sites     G09a
## G09b      0.39537914 -0.16909151 -0.55111754 -0.505573397   sites     G09b
## G09c      0.07423195 -1.12674002 -0.11121926 -0.627211349   sites     G09c
## G10a      0.93362042  1.35843259 -0.60686581 -0.983120035   sites     G10a
## G10b      0.43415326 -0.05611190 -0.88068384 -0.972582574   sites     G10b
## G10c      0.19064304 -0.75161200  0.02402706 -0.372104338   sites     G10c
## G11a      2.11252709  0.90518443  0.20709554 -0.180296559   sites     G11a
## G11b      0.68317377  0.16091148 -0.16998111 -0.038054146   sites     G11b
## G11c      0.51766195 -0.88448917 -0.82097590  0.696502573   sites     G11c
## G12a      2.07563424  0.71222714  0.09396167 -0.045832684   sites     G12a
## G12b      0.96594339  0.23552736  0.01339895  0.350196407   sites     G12b
## G12c      0.54717394 -0.40307331  0.18296724  0.031900916   sites     G12c
## G13a      1.50071024  0.16305080  0.05098636  0.473416654   sites     G13a
## G13b      1.29161637  0.16290802 -0.17107125  0.024443286   sites     G13b
## G13c      0.44739324 -0.05840527  1.76457009 -0.126884399   sites     G13c
## G14a      1.52659582  0.50645599  0.87187806  0.314056947   sites     G14a
## G14b      0.85732190 -0.23549789 -0.33895469  0.313035189   sites     G14b
## G14c      0.98710545 -0.41394565 -0.08652723  0.316843192   sites     G14c
## G15a      1.84102647  0.68127874  0.33892391 -0.002985912   sites     G15a
## G15b      1.47908982 -0.10910645 -0.31791602  0.249942074   sites     G15b
## G15c      1.04633618 -0.33944562  0.08417398  0.586155769   sites     G15c
## Cynaelli -2.22061675  1.13283129  0.90449756 -1.203942654 species Cynaelli
## Euclrace -1.44292843  0.35131392 -0.61053830  1.022587799 species Euclrace
## Helicomo -2.08914942  1.24849657  0.81020961 -1.083248359 species Helicomo
## Oleaexas -1.86827232 -1.00417006  0.61811028 -0.696148245 species Oleaexas
## Resteleo  1.03522796  0.66399141  1.74109068  0.494943103 species Resteleo
## Crasfili -0.43731770 -1.87346150 -3.21252933  3.086550012 species Crasfili
## Metamuri -0.75729848  1.78941423  0.30772438  1.064302272 species Metamuri
## Zalumari -2.58273260 -0.64254504  0.29829343 -0.222983544 species Zalumari
## Felilati -1.44764796  1.54246050  0.69684527  0.475745533 species Felilati
## Ficibulb -1.89996223  1.75256191  0.92949217  0.443512250 species Ficibulb
## Morequer  0.42368405  0.80479094  1.00955783 -1.058776373 species Morequer
## Oxaldepr -1.89996223  1.75256191  0.92949217  0.443512250 species Oxaldepr
## Ehrherec -1.31820593  0.07571668 -0.80645126  0.282269722 species Ehrherec
## Ficiramo  0.59098861  0.51931137 -1.42366061 -1.518962861 species Ficiramo
## Plecserp -1.72152676  0.47573435 -0.58491185  0.487879818 species Plecserp
## Chendiff -2.37606079 -1.90812609  0.18107191 -1.114725732 species Chendiff
## Eleolimo -2.37868159 -1.00997435  0.92577733 -1.665842695 species Eleolimo
## Laurtetr -0.72751562 -2.68382845  0.33809220 -0.700790189 species Laurtetr
## Sileundu -2.37868159 -1.00997435  0.92577733 -1.665842695 species Sileundu
## Aspaafri -0.82693776  1.05319517 -0.31066790  0.653685063 species Aspaafri
## Colepulc  0.35917412 -0.31711081 -0.65628929 -0.640703745 species Colepulc
## Rapagill -0.86458300 -1.69539442  1.75613278 -1.387655435 species Rapagill
## Searcren  0.01398176  1.14049841  0.54859387  1.376430480 species Searcren
## Colpcomp -1.54348137 -1.44378811 -0.94781658  1.975344451 species Colpcomp
## Feliechi -1.80535401  0.42174555  0.21066243 -2.176396570 species Feliechi
## Elegmicr  1.28299411  1.44845153  0.15502126  0.909961178 species Elegmicr
## Ficicape  0.98873481 -0.42323948 -0.91681030 -0.857364330 species Ficicape
## Helitere  1.21299438  1.92093207 -1.26809682 -2.564618252 species Helitere
## Searglau -0.01081549 -1.14275568  2.90772605 -1.257981266 species Searglau
## Chaecamp  0.80205525  0.74846433 -1.04797918 -1.430817172 species Chaecamp
## Carpdeli  0.25860201 -1.40631444 -2.01758975  1.023272822 species Carpdeli
## Robsmari -0.88087959  2.11642790  0.52386627  1.630425732 species Robsmari
## Seneangu  2.92183030  1.17861141  0.47378837  0.447465490 species Seneangu
## Senepurp  0.80350301  0.81838585  0.54726321  1.282371191 species Senepurp
## Oxalpunc -1.94584823 -1.73934099  1.25889450 -2.021922269 species Oxalpunc
## Crasglom -0.82134091  2.21360872 -0.57025963  1.939519980 species Crasglom
## Searlaev  0.00343848  1.92335224 -0.84440867  1.495944394 species Searlaev
## Vellvell -0.57875262  2.02900825 -0.99625239  1.596481015 species Vellvell
## Phyleric  2.43578890  0.91789158 -0.12266858 -0.289360668 species Phyleric
## Anthaeth  0.73294762 -1.25733516  2.19254063 -0.655617289 species Anthaeth
## Meseaito  0.80389742  0.59611511 -3.20037026 -3.481115156 species Meseaito
## Passcory  1.52197698 -0.62597586 -0.26580519  1.132371830 species Passcory
## Passrigi  3.29770645  0.41599051 -0.19417859  0.272916321 species Passrigi
## Chirbacc  2.41311254  0.82592600  1.73134572  0.874092377 species Chirbacc
## Indiglau  1.44921928 -1.87864762  0.75247699  0.812753165 species Indiglau
##          weight
## G01a      68.00
## G01b      72.00
## G01c      53.00
## G02a      28.00
## G02b     112.00
## G02c      36.00
## G03a      39.85
## G03b      99.00
## G03c      65.00
## G04a      81.70
## G04b     100.00
## G04c      81.00
## G05a      96.30
## G05b     108.00
## G05c      66.00
## G06a      71.29
## G06b      88.00
## G06c      75.00
## G07a      80.00
## G07b      96.00
## G07c     100.00
## G08a      84.50
## G08b     112.00
## G08c      90.00
## G09a      79.70
## G09b      88.00
## G09c      51.00
## G10a      68.00
## G10b     120.00
## G10c      90.00
## G11a      61.50
## G11b      82.00
## G11c     108.00
## G12a      45.00
## G12b      90.00
## G12c      54.00
## G13a      40.00
## G13b      89.00
## G13c     103.00
## G14a      46.50
## G14b     102.00
## G14c      75.00
## G15a      60.00
## G15b      77.00
## G15c     105.00
## Cynaelli   1.30
## Euclrace 253.50
## Helicomo   3.10
## Oleaexas 552.00
## Resteleo 286.60
## Crasfili  26.00
## Metamuri 408.00
## Zalumari   2.00
## Felilati   2.00
## Ficibulb   0.10
## Morequer  25.00
## Oxaldepr   0.10
## Ehrherec  18.00
## Ficiramo  33.00
## Plecserp  18.00
## Chendiff   2.00
## Eleolimo   2.00
## Laurtetr  72.00
## Sileundu   2.00
## Aspaafri   0.55
## Colepulc 927.00
## Rapagill  29.50
## Searcren  54.80
## Colpcomp  12.00
## Feliechi   4.00
## Elegmicr   6.00
## Ficicape  51.00
## Helitere  43.60
## Searglau  35.50
## Chaecamp  10.00
## Carpdeli  31.90
## Robsmari   1.10
## Seneangu   1.69
## Senepurp  16.00
## Oxalpunc   1.00
## Crasglom   0.20
## Searlaev  15.10
## Vellvell   0.60
## Phyleric 234.10
## Anthaeth  12.50
## Meseaito   7.50
## Passcory 322.00
## Passrigi   5.00
## Chirbacc   3.00
## Indiglau   5.00

NMDS

##                 NMDS1        NMDS2       NMDS3        NMDS4        NMDS5
## G01a     -0.639982618 -0.781410539 -0.10083509 -0.539644370  0.283578006
## G01b     -0.610817674 -0.585163695 -0.08889618 -0.413708860 -0.166155360
## G01c     -1.323625487 -0.256640852  0.38800166  0.123948852 -0.452377201
## G02a     -0.437498735 -1.060987677  0.57492438  0.083638665  0.519513537
## G02b     -0.675893424 -0.216017827  0.29134578 -0.813713017 -0.209664621
## G02c     -1.152440344 -0.216800313 -0.47195793  0.758518248 -0.255909502
## G03a     -0.373344821  0.076143133  0.49022358  0.003102402  0.582712016
## G03b     -0.417947113  0.034009572  0.39694430 -0.710674383  0.188875266
## G03c     -0.596045930 -0.981276623 -0.11254117  0.476301358 -0.493313974
## G04a     -0.094838774  0.007037165  0.74321683 -0.062698842  0.341722542
## G04b     -0.347300666  0.309437338  0.17575124 -0.672908318 -0.227510409
## G04c     -0.644517860 -0.611136011 -0.12481239 -0.036061346 -0.786228369
## G05a     -0.382966040  0.491709970  0.44079481  0.125052484  0.583734965
## G05b     -0.358089593  0.310842767  0.05050799 -0.301806788 -0.085759994
## G05c     -0.755516606  0.187504658 -0.47516236 -0.317460320 -0.142890906
## G06a      0.025703835  0.176827210  0.85918830  0.712590768  0.455424699
## G06b      0.196080624  0.893828637 -0.20388525 -0.251306992  0.038739677
## G06c     -0.787536290  0.316994923 -0.31325927  0.160427246  0.412230409
## G07a     -0.073521025  0.360879099  0.93678419  0.778212361 -0.405878515
## G07b      0.346997860  0.391976480  0.40625207 -0.620125587  0.247893759
## G07c     -0.492953272  0.440391034 -0.33657740  0.175907213 -0.243991419
## G08a      0.522370660  0.227031796 -0.01181189  0.685128842 -0.557454395
## G08b      0.193480170  0.491366709  0.37919643 -0.392593720 -0.162807138
## G08c     -0.612074785  0.396031702 -0.41941139  0.280684542  0.351962308
## G09a      0.218139427  0.486780427  0.20167594  0.462193898  0.079120749
## G09b      0.372882166  0.612526420  0.14254390 -0.079579583 -0.341585981
## G09c      0.051373822  0.916427273 -0.52368220  0.550817880 -0.024792272
## G10a      0.539739226  0.169954180  0.58804613  0.475755642 -0.404241824
## G10b      0.285617248  0.494566443  0.09456358 -0.552659302 -0.697474033
## G10c     -0.016339701  0.261840308 -0.50424273  0.201974050  0.352233040
## G11a      0.944179743 -0.708575275  0.59156182  0.152329600 -0.122318164
## G11b      0.523647571  0.061652807  0.13377141 -0.562802890  0.025994077
## G11c     -0.052763504  0.223963476 -0.56893004  0.443833919 -0.123972287
## G12a      0.861609981 -0.348505669  0.43179542  0.516266485  0.158023158
## G12b      0.681558734 -0.127849758 -0.10147708 -0.468731000  0.277498541
## G12c     -0.005971133  0.026537958 -0.61620896  0.047494466  0.174629648
## G13a      0.807939359 -0.716678338 -0.36767379  0.242822002 -0.206907476
## G13b      0.702660236 -0.066881800 -0.03966936 -0.383684741 -0.220286399
## G13c     -0.153404948 -0.146070251 -0.30739233  0.282920605  0.885099453
## G14a      0.784610913 -0.782536521 -0.43857648  0.043261766  0.324798451
## G14b      0.477781768  0.091853921 -0.30462413 -0.400897652 -0.091502660
## G14c      0.617835964  0.138904360 -0.75189566 -0.026823868  0.189555977
## G15a      0.809462028 -0.798715500 -0.26827585  0.079548611 -0.005485392
## G15b      0.891095520 -0.065789592 -0.18798089 -0.165731602 -0.189715212
## G15c      0.150623487 -0.125983526 -0.67730993 -0.089118723  0.144883224
## Cynaelli -0.759083952 -1.254095436  0.11040973 -0.536710955  0.537257398
## Euclrace -0.413361340 -0.151511344  0.07670729 -0.582497105  0.009931213
## Helicomo -0.524589508 -1.025525052  0.13391902 -0.262363981  0.335169853
## Oleaexas -0.780066293 -0.233368162 -0.10394266 -0.092776555 -0.145833802
## Resteleo  0.321971704 -0.181990629 -0.18889680 -0.107704828  0.164273720
## Crasfili -0.684240329 -0.129840143 -0.55233782  0.005820821 -0.382472825
## Metamuri -0.151941510  0.335526409  0.67749995  0.144710569  0.214261629
## Zalumari -1.653958999 -0.361398976  0.23831719  0.412281930 -0.624212004
## Felilati -0.441560073 -0.445322905  0.82166153  0.023722238  0.804181003
## Ficibulb -0.565746874 -1.557046280  0.83569115  0.119203718  0.808310173
## Morequer  0.550219713 -1.217496819 -0.32955211  0.285660902 -0.102696145
## Oxaldepr -0.565746874 -1.557046280  0.83569115  0.119203718  0.808310173
## Ehrherec -0.402863367  0.224878717  0.44314803 -0.920502046 -0.200878281
## Ficiramo  0.232605344  0.451023512  0.15363364 -0.605921182 -0.313142536
## Plecserp -0.643775326  0.012870034  0.43774332 -1.054921394 -0.104430833
## Chendiff -1.490266072 -0.318164035 -0.68602251  1.081057372 -0.398169132
## Eleolimo -1.107730342 -0.914648446 -0.40825766  0.867207204 -0.594556683
## Laurtetr -0.365347132  0.596761489 -0.62087379  0.328727543  0.106982395
## Sileundu -1.107730342 -0.914648446 -0.40825766  0.867207204 -0.594556683
## Aspaafri -0.227295792  0.039798089  0.97345229 -0.062107639  0.640644589
## Colepulc  0.117717152  0.429343099 -0.11856313  0.015381736 -0.015623225
## Rapagill -0.403244326  0.383147503 -0.13277503  0.387410149  0.658898772
## Searcren  0.246885136  0.434819560  0.19684280 -0.441075334  0.279348472
## Colpcomp -0.831792071  0.200245372 -0.26903090 -0.638857087 -0.050627715
## Feliechi -0.575181897 -0.754479286 -0.11255206  0.042771892 -1.046421345
## Elegmicr  0.603807019 -0.314934492  0.93667771  0.543499478  0.332491792
## Ficicape  0.536243029  0.384316123  0.08391049 -0.514757440 -0.295808837
## Helitere  0.505398609  0.054409134  0.40154970  0.187289705 -0.543787880
## Searglau -0.447948022  0.253222604 -0.39103802  0.289820293  0.822644463
## Chaecamp  0.415289967  0.298416861  0.13795520 -0.711332729 -0.093585921
## Carpdeli  0.152454300  0.569916532 -0.04577189  0.520128163 -0.249718473
## Robsmari  0.033238643  0.259501742  1.24888782  1.015600488  0.708594465
## Seneangu  0.847222257 -0.612116391  0.99258398  0.469420130 -0.116651687
## Senepurp  0.547696548  0.489667929 -0.04787753 -0.619403961  0.220422690
## Oxalpunc -1.018394245  0.465204052 -0.45534337  0.228644541  0.641388548
## Crasglom -0.095072938  0.529606018  1.36167867  1.109125868 -0.631505647
## Searlaev  0.483480332 -0.038816183  0.37322590  0.824678080 -0.593852611
## Vellvell  0.216162523  0.450268759  0.80475870  1.055542267 -0.726760620
## Phyleric  0.966275504 -0.485385319  0.05098086  0.138270411 -0.155917428
## Anthaeth  0.190636390  0.392545502 -0.50917176  0.347164363  0.463524714
## Meseaito  0.622749961  0.200405112  0.35241875 -0.488683123 -0.818915834
## Passcory  0.596672109 -0.187014432 -0.62232844 -0.091232173  0.058886156
## Passrigi  1.114181857 -0.511447463  0.62764360  0.735794678  0.245867946
## Chirbacc  1.014611324 -1.148406910 -0.63750034  0.061657648  0.505353323
## Indiglau  0.798948059  0.203848284 -1.09293078 -0.038229983  0.294929802
##            score    label
## G01a       sites     G01a
## G01b       sites     G01b
## G01c       sites     G01c
## G02a       sites     G02a
## G02b       sites     G02b
## G02c       sites     G02c
## G03a       sites     G03a
## G03b       sites     G03b
## G03c       sites     G03c
## G04a       sites     G04a
## G04b       sites     G04b
## G04c       sites     G04c
## G05a       sites     G05a
## G05b       sites     G05b
## G05c       sites     G05c
## G06a       sites     G06a
## G06b       sites     G06b
## G06c       sites     G06c
## G07a       sites     G07a
## G07b       sites     G07b
## G07c       sites     G07c
## G08a       sites     G08a
## G08b       sites     G08b
## G08c       sites     G08c
## G09a       sites     G09a
## G09b       sites     G09b
## G09c       sites     G09c
## G10a       sites     G10a
## G10b       sites     G10b
## G10c       sites     G10c
## G11a       sites     G11a
## G11b       sites     G11b
## G11c       sites     G11c
## G12a       sites     G12a
## G12b       sites     G12b
## G12c       sites     G12c
## G13a       sites     G13a
## G13b       sites     G13b
## G13c       sites     G13c
## G14a       sites     G14a
## G14b       sites     G14b
## G14c       sites     G14c
## G15a       sites     G15a
## G15b       sites     G15b
## G15c       sites     G15c
## Cynaelli species Cynaelli
## Euclrace species Euclrace
## Helicomo species Helicomo
## Oleaexas species Oleaexas
## Resteleo species Resteleo
## Crasfili species Crasfili
## Metamuri species Metamuri
## Zalumari species Zalumari
## Felilati species Felilati
## Ficibulb species Ficibulb
## Morequer species Morequer
## Oxaldepr species Oxaldepr
## Ehrherec species Ehrherec
## Ficiramo species Ficiramo
## Plecserp species Plecserp
## Chendiff species Chendiff
## Eleolimo species Eleolimo
## Laurtetr species Laurtetr
## Sileundu species Sileundu
## Aspaafri species Aspaafri
## Colepulc species Colepulc
## Rapagill species Rapagill
## Searcren species Searcren
## Colpcomp species Colpcomp
## Feliechi species Feliechi
## Elegmicr species Elegmicr
## Ficicape species Ficicape
## Helitere species Helitere
## Searglau species Searglau
## Chaecamp species Chaecamp
## Carpdeli species Carpdeli
## Robsmari species Robsmari
## Seneangu species Seneangu
## Senepurp species Senepurp
## Oxalpunc species Oxalpunc
## Crasglom species Crasglom
## Searlaev species Searlaev
## Vellvell species Vellvell
## Phyleric species Phyleric
## Anthaeth species Anthaeth
## Meseaito species Meseaito
## Passcory species Passcory
## Passrigi species Passrigi
## Chirbacc species Chirbacc
## Indiglau species Indiglau