Firstly…A big thank you to the upland volunteers. If it wasn’t for their hard work over many years we wouldn’t be able to get the data in order for us to gain insight into the changing conditions of upland peat.

The correlations below are based on data collected during 2021 - 2023 only. We wanted to see any emerging ‘linkages’ between Peat Depth and land cover, then look at the conditions of Peat against land cover. We utilised the very common ‘Pearson’ correlation formula where values are between (-1 and 1) where:-

‘-1’ indicates a perfectly ‘negative’ linear correlation between two variables. ‘0’ indicates ‘no’ linear correlation between two variables. ‘1’ indicates a perfectly ‘positive’ linear correlation between two variables.

Figure 1. - Pearson correlation results explained.
Figure 1. - Pearson correlation results explained.

We have also changed some of the fields indicating the percentage spans to ‘numeric’ as follows, 1 - 5% to ‘3’, 6 - 10% to ‘8’, 11 -20% to ‘15.5’, 21 - 50% to ‘35.5’, 51 - 75% to ‘63’ and finally 76 - 100% to ‘88’.

Where we are comparing (‘Slope’ = ‘Flat’) changes to ‘1’, (‘Slope’ = ‘Gentle’) to ‘2’ and (‘Slope’ = ‘Steep’) to ‘3’. Where we are comparing (‘Weather’ = ‘Dry’) to ‘1’, (‘Weather’ = ‘Wet’) to ‘2’. Where we are comparing (‘Peat Softness’ = ‘Firm’) to ‘1’, (‘Peat Softness’ = ‘Soft’) to ‘2’. Where we are comparing (‘Surface Wetness’ = ‘Dry’) to ‘1’, (‘Surface Wetness’ = ‘Wet’) to ‘2’, (‘Surface Wetness’ = ‘Surface Water Present’) to ‘3’.


The ‘Correlogram’ summaries the very small data correlations

library(ggstatsplot)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
# correlogram
ggstatsplot::ggcorrmat(
  data = numeric_columns,
  type = "parametric", # parametric for Pearson, nonparametric for Spearman's correlation
  colors = c("darkred", "white", "seagreen") # change default colors
)

This ‘Correlogram’ shows the very small data correlations and individual values

library(corrplot)
library(dplyr)
library(ggstatsplot)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
mydata <- numeric_columns
mydata <- mydata %>% replace(is.na(.), 0)
cor(mydata)
##                            heather_cover_numeric molinia_cover_numeric
## heather_cover_numeric                 1.00000000          -0.263201655
## molinia_cover_numeric                -0.26320165           1.000000000
## sphagnum_cover_numeric                0.03586938           0.009475874
## bare_ground_cover_numeric             0.03186760          -0.219077340
## cotton_grass_cover_numeric           -0.01127984          -0.171267795
## slope_numeric                        -0.11739029           0.028955137
## weather_numeric                       0.07600996          -0.071492650
## peat_softness_numeric                -0.01587995          -0.149217309
## surface_wetness_numeric               0.15611982          -0.143207368
##                            sphagnum_cover_numeric bare_ground_cover_numeric
## heather_cover_numeric                 0.035869382                0.03186760
## molinia_cover_numeric                 0.009475874               -0.21907734
## sphagnum_cover_numeric                1.000000000               -0.08463160
## bare_ground_cover_numeric            -0.084631598                1.00000000
## cotton_grass_cover_numeric           -0.056022824                0.03485980
## slope_numeric                        -0.166180207               -0.04454587
## weather_numeric                       0.105978238               -0.06017348
## peat_softness_numeric                 0.151816480                0.14157819
## surface_wetness_numeric               0.152883679                0.08095347
##                            cotton_grass_cover_numeric slope_numeric
## heather_cover_numeric                     -0.01127984   -0.11739029
## molinia_cover_numeric                     -0.17126779    0.02895514
## sphagnum_cover_numeric                    -0.05602282   -0.16618021
## bare_ground_cover_numeric                  0.03485980   -0.04454587
## cotton_grass_cover_numeric                 1.00000000   -0.10448530
## slope_numeric                             -0.10448530    1.00000000
## weather_numeric                           -0.01156971   -0.08551429
## peat_softness_numeric                      0.21287824   -0.11293168
## surface_wetness_numeric                    0.16407986   -0.17984354
##                            weather_numeric peat_softness_numeric
## heather_cover_numeric           0.07600996           -0.01587995
## molinia_cover_numeric          -0.07149265           -0.14921731
## sphagnum_cover_numeric          0.10597824            0.15181648
## bare_ground_cover_numeric      -0.06017348            0.14157819
## cotton_grass_cover_numeric     -0.01156971            0.21287824
## slope_numeric                  -0.08551429           -0.11293168
## weather_numeric                 1.00000000            0.13266214
## peat_softness_numeric           0.13266214            1.00000000
## surface_wetness_numeric         0.12496660            0.45577059
##                            surface_wetness_numeric
## heather_cover_numeric                   0.15611982
## molinia_cover_numeric                  -0.14320737
## sphagnum_cover_numeric                  0.15288368
## bare_ground_cover_numeric               0.08095347
## cotton_grass_cover_numeric              0.16407986
## slope_numeric                          -0.17984354
## weather_numeric                         0.12496660
## peat_softness_numeric                   0.45577059
## surface_wetness_numeric                 1.00000000
mat <- cor(mydata)
corrplot(mat)


To summarise the above two correlograms … we are in the early stages of data collection (even though) it’s year five of surveying. there are some correlations emerging but these (to some) wouldn’t constitute any correlation at all due to the very low values we are currently dealing with. Cotton Grass ‘0.34’, Sphagnum ‘0.17’ and Bare Ground ‘0.39’ correlate with Peat Softness (and thus) Surface Wetness. Peat Softness and Surface Wetness are the obvious pairing with the highest natural correlation of ‘0.46’. Heather correlates with Surface Wetness at ‘0.17’.


Peat Depth Average & Heather Cover

‘Negative’ correlation emerging (R = -0.052)
# install.packages("ggpubr")
library("ggpubr")
heath_cover_table <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/heath_cover_table.csv")
ggscatter(heath_cover_table, x = "heather_cover_numeric", y = "peat_depth_average",
          add = "reg.line", conf.int = TRUE, 
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "heather_cover_numeric", ylab = "peat_depth_average")

Peat Depth Average & Molinia Cover

‘Positive’ correlation emerging (R = 0.14)
# install.packages("ggpubr")
library("ggpubr")
molinia_cover_table <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/molinia_cover_table.csv")
ggscatter(molinia_cover_table, x = "molinia_cover_numeric", y = "peat_depth_average",
          add = "reg.line", conf.int = TRUE, 
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "molinia_cover_numeric", ylab = "peat_depth_average")

Peat Depth Average & Sphagnum Cover

‘Positive’ correlation emerging (R = 0.28)
# install.packages("ggpubr")
library("ggpubr")
sphagnum_cover_table <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/sphagnum_cover_table.csv")
ggscatter(sphagnum_cover_table, x = "sphagnum_cover_numeric", y = "peat_depth_average",
          add = "reg.line", conf.int = TRUE, 
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "sphagnum_cover_numeric", ylab = "peat_depth_average")

Peat Depth Average & Bare Ground Cover

‘Positive’ correlation emerging (R = 0.094)
# install.packages("ggpubr")
library("ggpubr")
bare_ground_cover_table <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/bare_ground_cover_table.csv")
ggscatter(bare_ground_cover_table, x = "bare_ground_cover_numeric", y = "peat_depth_average",
          add = "reg.line", conf.int = TRUE, 
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "bare_ground_cover_numeric", ylab = "peat_depth_average")

Peat Depth Average & Cotton Grass Cover

‘Negative’ correlation emerging (R = -0.013)
# install.packages("ggpubr")
library("ggpubr")
cotton_grass_cover_table <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/cotton_grass_cover_table.csv")
ggscatter(cotton_grass_cover_table, x = "cotton_grass_cover_numeric", y = "peat_depth_average",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "bare_ground_cover_numeric", ylab = "peat_depth_average")

Peat Depth Average & Bare Peat Cover

‘Positive’ correlation emerging (R = 0.13)
# install.packages("ggpubr")
library("ggpubr")
bare_peat_cover_table <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/bare_peat_cover_table.csv")
ggscatter(bare_peat_cover_table, x = "bare_peat_cover_numeric", y = "peat_depth_average",
          add = "reg.line", conf.int = TRUE, 
          cor.coef = TRUE, cor.method = "spearman",
          xlab = "bare_peat_cover_numeric", ylab = "peat_depth_average")

Heather Cover & Peat Softness Cover

‘Negative’ correlation emerging (R = -0.037)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "heather_cover_numeric", y = "peat_softness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "heather_cover_numeric", ylab = "peat_softness_numeric")

Heather Cover & Surface Wetness Cover

‘Positive’ correlation emerging (R = 0.17)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "heather_cover_numeric", y = "surface_wetness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "heather_cover_numeric", ylab = "surface_wetness_numeric")

Heather Cover & Weather

‘Positive’ correlation emerging (R = 0.073)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "heather_cover_numeric", y = "weather_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "heather_cover_numeric", ylab = "weather_numeric")

Heather Cover & Slope

‘Negative’ correlation emerging (R = -0.13)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "heather_cover_numeric", y = "slope_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "heather_cover_numeric", ylab = "slope_numeric")

Molinia Cover & Peat Softness Cover

‘Negative’ correlation emerging (R = -0.12)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "molinia_cover_numeric", y = "peat_softness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "molinia_cover_numeric", ylab = "peat_softness_numeric")

Molinia Cover & Surface Wetness Cover

‘Negative’ correlation emerging (R = -0.14)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "molinia_cover_numeric", y = "surface_wetness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "molinia_cover_numeric", ylab = "surface_wetness_numeric")

Molinia Cover & Weather

‘Negative’ correlation emerging (R = -0.017)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "molinia_cover_numeric", y = "weather_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "molinia_cover_numeric", ylab = "weather_numeric")

Molinia Cover & Slope

‘Positive’ correlation emerging (R = 0.0054)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "molinia_cover_numeric", y = "slope_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "molinia_cover_numeric", ylab = "slope_numeric")

Sphagnum Cover & Peat Softness Cover

‘Positive’ correlation emerging (R = 0.17)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "sphagnum_cover_numeric", y = "peat_softness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "sphagnum_cover_numeric", ylab = "peat_softness_numeric")

Sphagnum Cover & Surface Wetness Cover

‘Positive’ correlation emerging (R = 0.11)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "sphagnum_cover_numeric", y = "surface_wetness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "sphagnum_cover_numeric", ylab = "surface_wetness_numeric")

Sphagnum Cover & Weather

‘Positive’ correlation emerging (R = 0.18)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "sphagnum_cover_numeric", y = "weather_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "sphagnum_cover_numeric", ylab = "weather_numeric")

Sphagnum Cover & Slope

‘Negative’ correlation emerging (R = -0.13)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "sphagnum_cover_numeric", y = "slope_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "sphagnum_cover_numeric", ylab = "slope_numeric")

Bare Ground Cover & Peat Softness Cover

‘Positive’ correlation emerging (R = 0.39)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "bare_ground_cover_numeric", y = "peat_softness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "bare_ground_cover_numeric", ylab = "peat_softness_numeric")

Bare Ground Cover & Surface Wetness Cover

‘Positive’ correlation emerging (R = 0.16)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "sphagnum_cover_numeric", y = "surface_wetness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "bare_ground_cover_numeric", ylab = "surface_wetness_numeric")

Bare Ground Cover & Weather

‘Negative’ correlation emerging (R = -0.056)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "sphagnum_cover_numeric", y = "weather_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "bare_ground_cover_numeric", ylab = "weather_numeric")

Bare Ground Cover & Slope

‘Negative’ correlation emerging (R = -0.14)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "sphagnum_cover_numeric", y = "slope_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "bare_ground_cover_numeric", ylab = "slope_numeric")

Cotton Grass Cover & Peat Softness Cover

‘Positive’ correlation emerging (R = 0.34)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "cotton_grass_cover_numeric", y = "peat_softness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "cotton_grass_cover_numeric", ylab = "peat_softness_numeric")

Cotton Grass Cover & Surface Wetness Cover

‘Positive’ correlation emerging (R = 0.17)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "cotton_grass_cover_numeric", y = "surface_wetness_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "cotton_grass_cover_numeric", ylab = "surface_wetness_numeric")

Cotton Grass Cover & Weather

‘Positive’ correlation emerging (R = 0.073)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "cotton_grass_cover_numeric", y = "weather_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "cotton_grass_cover_numeric", ylab = "weather_numeric")

Cotton Grass Cover & Slope

‘Negative’ correlation emerging (R = -0.13)
# install.packages("ggpubr")
library("ggpubr")
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
ggscatter(numeric_columns, x = "cotton_grass_cover_numeric", y = "slope_numeric",
          add = "reg.line", conf.int = TRUE,
          cor.coef = TRUE, cor.method = "pearson",
          xlab = "cotton_grass_cover_numeric", ylab = "slope_numeric")

Heather Cover

Mostly between 3% and 8% x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$heather_cover_numeric)

Molinia Cover

Mostly between 0% and 80% x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$molinia_cover_numeric)

Sphagnum Cover

Mostly between 3% and 8% x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$sphagnum_cover_numeric)

Bare Ground Cover

Mostly between 3% and 8% x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$bare_ground_cover_numeric)

Cotton Grass Cover

Mostly between 3% and 8% x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$cotton_grass_cover_numeric)

Slope Cover

Mostly ‘gentle’ (2) then ‘flat’ (1) x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$slope_numeric)

Weather Cover

More ‘dry’ (1) than ‘wet’ (2) x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$weather_numeric)

Peat Softness Cover

More ‘firm’ (1) than ‘soft’ (2) x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$peat_softness_numeric)

Surface Wetness Cover

More ‘dry’ (1) than ‘wet’ (2) and ‘surface_water_present’ (3) x Frequency (surveys)
numeric_columns <- read.csv("C:/Users/paulsh/Downloads/refactored_peatland_analysis_layers_2021_2024/numeric_columns.csv")
hist(numeric_columns$surface_wetness_numeric)