From f4a2b42f28a3a4043ff8854f42a0bd16495827a3 Mon Sep 17 00:00:00 2001 From: Nicolas Casajus Date: Fri, 19 Apr 2024 15:56:05 +0200 Subject: [PATCH] upload laure data --- analyses/Fig3.R | 935 ++++++++++++++++++ analyses/FigS6.R | 646 ++++++++++++ analyses/fig2.R | 856 ++++++++++++++++ data/importance_permutation_marine.Rdata | Bin 0 -> 1829 bytes ...importance_permutation_marine_strict.Rdata | Bin 0 -> 1588 bytes data/importance_permutation_terrestrial.Rdata | Bin 0 -> 1873 bytes ...tance_permutation_terrestrial_strict.Rdata | Bin 0 -> 1598 bytes figures/Figure2.pdf | Bin 0 -> 39206 bytes figures/Figure3.pdf | Bin 0 -> 23195 bytes figures/FigureS6.pdf | Bin 0 -> 14275 bytes 10 files changed, 2437 insertions(+) create mode 100644 analyses/Fig3.R create mode 100644 analyses/FigS6.R create mode 100644 analyses/fig2.R create mode 100644 data/importance_permutation_marine.Rdata create mode 100644 data/importance_permutation_marine_strict.Rdata create mode 100644 data/importance_permutation_terrestrial.Rdata create mode 100644 data/importance_permutation_terrestrial_strict.Rdata create mode 100644 figures/Figure2.pdf create mode 100644 figures/Figure3.pdf create mode 100644 figures/FigureS6.pdf diff --git a/analyses/Fig3.R b/analyses/Fig3.R new file mode 100644 index 0000000..93dfa8a --- /dev/null +++ b/analyses/Fig3.R @@ -0,0 +1,935 @@ +library(ranger) +library(ggplot2) +library(pdp) +library(cowplot) + + +############################### +# Data and models +############################### + +##################### +#TPA +#################### + +load("data/IUCN.I.VI.ATP.RData") + + +Reserve <- c(rep(TRUE, 258725), rep(FALSE, 258725)) + +IUCN.I.VI.ATP <- cbind(IUCN.I.VI.ATP, Reserve) + +IUCN.I.VI.ATP$Island <- as.factor(IUCN.I.VI.ATP$Island) + +IUCN.I.VI.ATP$Reserve <- as.factor(IUCN.I.VI.ATP$Reserve) + + +# log transform + + +logNGO <- log10(IUCN.I.VI.ATP$NGO + 1) + +logconflicts <- log10(IUCN.I.VI.ATP$conflicts + 1) + +logDistToOcean <- log10(IUCN.I.VI.ATP$DistToOcean + 1) + +logtt <- log10(IUCN.I.VI.ATP$tt + 1) + +logHF <- log10(IUCN.I.VI.ATP$hf + 1) + +logAltitude <- log10(IUCN.I.VI.ATP$Altitude + 1) + +logNaturalResources <- log10(IUCN.I.VI.ATP$NaturalResources + 1) + +logAnnualPrecipitation <- + log10(IUCN.I.VI.ATP$AnnualPrecipitation + 1) + +logGDP <- log10(IUCN.I.VI.ATP$GDP + 1) + + +ATP_All <- + cbind( + IUCN.I.VI.ATP, + logNGO, + logconflicts, + logDistToOcean, + logtt, + logHF, + logAltitude, + logNaturalResources, + logAnnualPrecipitation, + logGDP + ) + + +modATP <- + ranger( + as.factor(Reserve) ~ logNGO + logconflicts + logDistToOcean + + logtt + logHF + logAltitude + FreshWater + logAnnualPrecipitation + logGDP + + HDI + logNaturalResources + Island + MeanTemperature + NDVI, + data = ATP_All, + keep.inbag = TRUE, + probability = TRUE + ) + + +##################### +#TPA IUCN only +#################### + +ATP_I <- + ATP_All[ATP_All$IUCN_CAT == "Ia" | + ATP_All$IUCN_CAT == "Ib" | ATP_All$IUCN_CAT == "NONE",] + +modATPI <- + ranger( + as.factor(Reserve) ~ logNGO + logconflicts + logDistToOcean + + logtt + logHF + logAltitude + FreshWater + logAnnualPrecipitation + logGDP + + HDI + logNaturalResources + Island + MeanTemperature + NDVI, + data = ATP_I, + keep.inbag = TRUE, + probability = TRUE + ) + + +##################### +#MPA +#################### + + +load("data/IUCN.I.VI.AMP.RData") + +IUCN.I.VI.AMP$Island <- as.factor(IUCN.I.VI.AMP$Island) + +IUCN.I.VI.AMP$Reserve <- as.factor(IUCN.I.VI.AMP$Reserve) + +summary(IUCN.I.VI.AMP) + + +# log transform + + +logNGO <- log10(IUCN.I.VI.AMP$NGO + 1) + +logconflicts <- log10(IUCN.I.VI.AMP$conflicts + 1) + +logDistToCoast <- log10(IUCN.I.VI.AMP$DistToCoast + 1) + +logtravel_time <- log10(IUCN.I.VI.AMP$travel_time + 1) + +logDistToSeamounts <- log10(IUCN.I.VI.AMP$DistToSeamounts + 1) + +logChla <- log10(IUCN.I.VI.AMP$Chla + 1) + +loghf <- log10((IUCN.I.VI.AMP$hf * 5) + 1) + +loggdp <- log10(IUCN.I.VI.AMP$gdp + 1) + +logdepth <- log10(-IUCN.I.VI.AMP$Bathymetry + 1) + +AMP_All <- + cbind( + IUCN.I.VI.AMP, + logNGO, + logconflicts, + logDistToCoast, + logtravel_time, + logDistToSeamounts, + logChla, + loghf, + loggdp, + logdepth + ) + +modAMP <- + ranger( + as.factor(Reserve) ~ loggdp + loghf + logconflicts + MarineEcosystemDependency + + logChla + + SST + logtravel_time + HDI + logDistToSeamounts + logdepth + + salinity + + logDistToCoast + Island + logNGO, + data = AMP_All, + keep.inbag = TRUE, + probability = TRUE + ) + +##################### +#MPA IUCN only +#################### + +AMP_I <- + AMP_All[AMP_All$IUCN_CAT == "Ia" | + AMP_All$IUCN_CAT == "Ib" | AMP_All$IUCN_CAT == "NONE",] + +modAMPI <- + ranger( + as.factor(Reserve) ~ loggdp + loghf + logconflicts + MarineEcosystemDependency + + logChla + + SST + logtravel_time + HDI + logDistToSeamounts + logdepth + + salinity + + logDistToCoast + Island + logNGO, + data = AMP_I, + keep.inbag = TRUE, + probability = TRUE + ) + + + +############################### +# Partial plot +############################### +##################### +# HDI +#################### + +par.mod1_AMP_HDI <- + pdp::partial(modAMP, + pred.var = "HDI", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_HDI <- + pdp::partial(modAMPI, + pred.var = "HDI", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_HDI <- + pdp::partial(modATP, + pred.var = "HDI", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_HDI <- + pdp::partial(modATPI, + pred.var = "HDI", + prob = TRUE, + which.class = "TRUE") + + +pHDI <- + ggplot() + geom_line(data = par.mod1_AMP_HDI, + mapping = aes(x = HDI, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMP_HDI, + mapping = aes(x = HDI, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_AMPI_HDI, + mapping = aes(x = HDI, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMPI_HDI, + mapping = aes(x = HDI, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line(data = par.mod1_ATP_HDI, + mapping = aes(x = HDI, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATP_HDI, + mapping = aes(x = HDI, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_ATPI_HDI, + mapping = aes(x = HDI, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATPI_HDI, + mapping = aes(x = HDI, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "Protection probability") + scale_x_continuous(name = "HDI") + +##################### +# HF +#################### +par.mod1_AMP_hf <- + pdp::partial(modAMP, + pred.var = "loghf", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_hf <- + pdp::partial(modAMPI, + pred.var = "loghf", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_hf <- + pdp::partial(modATP, + pred.var = "logHF", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_hf <- + pdp::partial(modATPI, + pred.var = "logHF", + prob = TRUE, + which.class = "TRUE") + + +pHF <- + ggplot() + geom_line(data = par.mod1_AMP_hf, + mapping = aes(x = loghf, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMP_hf, + mapping = aes(x = loghf, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_AMPI_hf, + mapping = aes(x = loghf, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMPI_hf, + mapping = aes(x = loghf, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line(data = par.mod1_ATP_hf, + mapping = aes(x = logHF, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATP_hf, + mapping = aes(x = logHF, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_ATPI_hf, + mapping = aes(x = logHF, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATPI_hf, + mapping = aes(x = logHF, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = " ") + scale_x_continuous(name = "Human footprint (log)") + +##################### +# Conflicts +#################### +par.mod1_AMP_conflits <- + pdp::partial(modAMP, + pred.var = "logconflicts", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_conflits <- + pdp::partial(modAMPI, + pred.var = "logconflicts", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_conflits <- + pdp::partial(modATP, + pred.var = "logconflicts", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_conflits <- + pdp::partial(modATPI, + pred.var = "logconflicts", + prob = TRUE, + which.class = "TRUE") + + + +pConflicts <- + ggplot() + geom_line( + data = par.mod1_AMP_conflits, + mapping = aes(x = logconflicts, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMP_conflits, + mapping = aes(x = logconflicts, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_AMPI_conflits, + mapping = aes(x = logconflicts, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMPI_conflits, + mapping = aes(x = logconflicts, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line( + data = par.mod1_ATP_conflits, + mapping = aes(x = logconflicts, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATP_conflits, + mapping = aes(x = logconflicts, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_ATPI_conflits, + mapping = aes(x = logconflicts, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATPI_conflits, + mapping = aes(x = logconflicts, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = " ") + scale_x_continuous(name = "Conflicts (log number)") + + +##################### +# Elevation and Depth +#################### +par.mod1_AMP_bath <- + pdp::partial(modAMP, + pred.var = "logdepth", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_bath <- + pdp::partial(modAMPI, + pred.var = "logdepth", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_bath <- + pdp::partial(modATP, + pred.var = "logAltitude", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_bath <- + pdp::partial(modATPI, + pred.var = "logAltitude", + prob = TRUE, + which.class = "TRUE") + + +pBath <- + ggplot() + geom_line( + data = par.mod1_AMP_bath, + mapping = aes(x = logdepth, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMP_bath, + mapping = aes(x = logdepth, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_AMPI_bath, + mapping = aes(x = logdepth, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMPI_bath, + mapping = aes(x = logdepth, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line( + data = par.mod1_ATP_bath, + mapping = aes(x = logAltitude, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATP_bath, + mapping = aes(x = logAltitude, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_ATPI_bath, + mapping = aes(x = logAltitude, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATPI_bath, + mapping = aes(x = logAltitude, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = " ") + scale_x_continuous(name = "Elevation or Depth (log m)") + + +##################### +# Distance to coast +#################### + +par.mod1_AMP_dist <- + pdp::partial(modAMP, + pred.var = "logDistToCoast", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_dist <- + pdp::partial(modAMPI, + pred.var = "logDistToCoast", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_dist <- + pdp::partial(modATP, + pred.var = "logDistToOcean", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_dist <- + pdp::partial(modATPI, + pred.var = "logDistToOcean", + prob = TRUE, + which.class = "TRUE") + +#Distance to the coastline and Distance to the mainland +pDist <- + ggplot() + geom_line( + data = par.mod1_AMP_dist, + mapping = aes(x = logDistToCoast, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMP_dist, + mapping = aes(x = logDistToCoast, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_AMPI_dist, + mapping = aes(x = logDistToCoast, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMPI_dist, + mapping = aes(x = logDistToCoast, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line( + data = par.mod1_ATP_dist, + mapping = aes(x = logDistToOcean, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATP_dist, + mapping = aes(x = logDistToOcean, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_ATPI_dist, + mapping = aes(x = logDistToOcean, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATPI_dist, + mapping = aes(x = logDistToOcean, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "Protection probability") + scale_x_continuous(name = "Distance to the coast (log km)") + + + +##################### +# Temperature +#################### + +par.mod1_AMP <- + pdp::partial(modAMP, + pred.var = "SST", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI <- + pdp::partial(modAMPI, + pred.var = "SST", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP <- + pdp::partial(modATP, + pred.var = "MeanTemperature", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI <- + pdp::partial(modATPI, + pred.var = "MeanTemperature", + prob = TRUE, + which.class = "TRUE") + + +pTemp <- + ggplot() + geom_line(data = par.mod1_AMP, + mapping = aes(x = SST, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMP, + mapping = aes(x = SST, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_AMPI, + mapping = aes(x = SST, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMPI, + mapping = aes(x = SST, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line( + data = par.mod1_ATP, + mapping = aes(x = MeanTemperature, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATP, + mapping = aes(x = MeanTemperature, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_ATPI, + mapping = aes(x = MeanTemperature, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATPI, + mapping = aes(x = MeanTemperature, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = " ") + scale_x_continuous(name = "Annual temperature") + + +##################### +# Travel time +#################### + +par.mod1_AMP_tt <- + pdp::partial(modAMP, + pred.var = "logtravel_time", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_tt <- + pdp::partial(modAMPI, + pred.var = "logtravel_time", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_tt <- + pdp::partial(modATP, + pred.var = "logtt", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_tt <- + pdp::partial(modATPI, + pred.var = "logtt", + prob = TRUE, + which.class = "TRUE") + + +pPressure <- + ggplot() + geom_line( + data = par.mod1_AMP_tt, + mapping = aes(x = logtravel_time, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMP_tt, + mapping = aes(x = logtravel_time, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_AMPI_tt, + mapping = aes(x = logtravel_time, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMPI_tt, + mapping = aes(x = logtravel_time, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line(data = par.mod1_ATP_tt, + mapping = aes(x = logtt, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATP_tt, + mapping = aes(x = logtt, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_ATPI_tt, + mapping = aes(x = logtt, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATPI_tt, + mapping = aes(x = logtt, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "Protection probability") + scale_x_continuous(name = "Travel time (log minutes)") + + +##################### +# NGO +#################### +par.mod1_AMP_NGO <- + pdp::partial(modAMP, + pred.var = "logNGO", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_NGO <- + pdp::partial(modAMPI, + pred.var = "logNGO", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_NGO <- + pdp::partial(modATP, + pred.var = "logNGO", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_NGO <- + pdp::partial(modATPI, + pred.var = "logNGO", + prob = TRUE, + which.class = "TRUE") + + +pNGO <- + ggplot() + geom_line(data = par.mod1_AMP_NGO, + mapping = aes(x = logNGO, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMP_NGO, + mapping = aes(x = logNGO, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_AMPI_NGO, + mapping = aes(x = logNGO, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMPI_NGO, + mapping = aes(x = logNGO, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line(data = par.mod1_ATP_NGO, + mapping = aes(x = logNGO, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATP_NGO, + mapping = aes(x = logNGO, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_ATPI_NGO, + mapping = aes(x = logNGO, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATPI_NGO, + mapping = aes(x = logNGO, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = " ") + scale_x_continuous(name = "Non-governmental organizations (log number)") + + +##################### +# Resources dependency +#################### + +par.mod1_AMP_dep <- + pdp::partial(modAMP, + pred.var = "MarineEcosystemDependency", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_dep <- + pdp::partial(modAMPI, + pred.var = "MarineEcosystemDependency", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_dep <- + pdp::partial(modATP, + pred.var = "logNaturalResources", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_dep <- + pdp::partial(modATPI, + pred.var = "logNaturalResources", + prob = TRUE, + which.class = "TRUE") + + +pResource <- + ggplot() + geom_line( + data = par.mod1_AMP_dep, + mapping = aes(x = MarineEcosystemDependency, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMP_dep, + mapping = aes(x = MarineEcosystemDependency, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_AMPI_dep, + mapping = aes(x = MarineEcosystemDependency, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMPI_dep, + mapping = aes(x = MarineEcosystemDependency, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + geom_line( + data = par.mod1_ATP_dep, + mapping = aes(x = logNaturalResources, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATP_dep, + mapping = aes(x = logNaturalResources, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_ATPI_dep, + mapping = aes(x = logNaturalResources, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATPI_dep, + mapping = aes(x = logNaturalResources, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = " ") + scale_x_continuous(name = "Resources dependency (log)") + + +##################### +# plot +#################### +partial_plot_all <- + cowplot::plot_grid( + pHDI, + pConflicts, + pHF, + pPressure, + pNGO, + pResource, + pDist, + pBath, + pTemp, + ncol = 3, + labels = c("a", "b", "c", "d", "e", "f", "g", "h", "i") + ) diff --git a/analyses/FigS6.R b/analyses/FigS6.R new file mode 100644 index 0000000..240a167 --- /dev/null +++ b/analyses/FigS6.R @@ -0,0 +1,646 @@ +library(ranger) +library(ggplot2) +library(pdp) +library(cowplot) + + +############################### +# Data and models +############################### + +##################### +#TPA +#################### + +load("data/IUCN.I.VI.ATP.RData") + + +Reserve <- c(rep(TRUE, 258725), rep(FALSE, 258725)) + +IUCN.I.VI.ATP <- cbind(IUCN.I.VI.ATP, Reserve) + +IUCN.I.VI.ATP$Island <- as.factor(IUCN.I.VI.ATP$Island) + +IUCN.I.VI.ATP$Reserve <- as.factor(IUCN.I.VI.ATP$Reserve) + + +# log transform + + +logNGO <- log10(IUCN.I.VI.ATP$NGO + 1) + +logconflicts <- log10(IUCN.I.VI.ATP$conflicts + 1) + +logDistToOcean <- log10(IUCN.I.VI.ATP$DistToOcean + 1) + +logtt <- log10(IUCN.I.VI.ATP$tt + 1) + +logHF <- log10(IUCN.I.VI.ATP$hf + 1) + +logAltitude <- log10(IUCN.I.VI.ATP$Altitude + 1) + +logNaturalResources <- log10(IUCN.I.VI.ATP$NaturalResources + 1) + +logAnnualPrecipitation <- log10(IUCN.I.VI.ATP$AnnualPrecipitation + 1) + +logGDP <- log10(IUCN.I.VI.ATP$GDP + 1) + + +ATP_All <- + cbind( + IUCN.I.VI.ATP, + logNGO, + logconflicts, + logDistToOcean, + logtt, + logHF, + logAltitude, + logNaturalResources, + logAnnualPrecipitation, + logGDP + ) + + +modATP <- + ranger( + as.factor(Reserve) ~ logNGO + logconflicts + logDistToOcean + + logtt + logHF + logAltitude + FreshWater + logAnnualPrecipitation + logGDP + + HDI + logNaturalResources + Island + MeanTemperature + NDVI, + data = ATP_All, + keep.inbag = TRUE, + probability = TRUE + ) + + +##################### +#TPA IUCN only +#################### + +ATP_I <- + ATP_All[ATP_All$IUCN_CAT == "Ia" | + ATP_All$IUCN_CAT == "Ib" | ATP_All$IUCN_CAT == "NONE", ] + +modATPI <- + ranger( + as.factor(Reserve) ~ logNGO + logconflicts + logDistToOcean + + logtt + logHF + logAltitude + FreshWater + logAnnualPrecipitation + logGDP + + HDI + logNaturalResources + Island + MeanTemperature + NDVI, + data = ATP_I, + keep.inbag = TRUE, + probability = TRUE + ) + + +##################### +#MPA +#################### + + +load("data/IUCN.I.VI.AMP.RData") + +IUCN.I.VI.AMP$Island <- as.factor(IUCN.I.VI.AMP$Island) + +IUCN.I.VI.AMP$Reserve <- as.factor(IUCN.I.VI.AMP$Reserve) + +summary(IUCN.I.VI.AMP) + + +# log transform + + +logNGO <- log10(IUCN.I.VI.AMP$NGO + 1) + +logconflicts <- log10(IUCN.I.VI.AMP$conflicts + 1) + +logDistToCoast <- log10(IUCN.I.VI.AMP$DistToCoast + 1) + +logtravel_time <- log10(IUCN.I.VI.AMP$travel_time + 1) + +logDistToSeamounts <- log10(IUCN.I.VI.AMP$DistToSeamounts + 1) + +logChla <- log10(IUCN.I.VI.AMP$Chla + 1) + +loghf <- log10((IUCN.I.VI.AMP$hf * 5) + 1) + +loggdp <- log10(IUCN.I.VI.AMP$gdp + 1) + +logdepth <- log10(-IUCN.I.VI.AMP$Bathymetry + 1) + +AMP_All <- + cbind( + IUCN.I.VI.AMP, + logNGO, + logconflicts, + logDistToCoast, + logtravel_time, + logDistToSeamounts, + logChla, + loghf, + loggdp, + logdepth + ) + +modAMP <- + ranger( + as.factor(Reserve) ~ loggdp + loghf + logconflicts + MarineEcosystemDependency + + logChla + + SST + logtravel_time + HDI + logDistToSeamounts + logdepth + + salinity + + logDistToCoast + Island + logNGO, + data = AMP_All, + keep.inbag = TRUE, + probability = TRUE + ) + +##################### +#MPA IUCN only +#################### + +AMP_I <- + AMP_All[AMP_All$IUCN_CAT == "Ia" | + AMP_All$IUCN_CAT == "Ib" | AMP_All$IUCN_CAT == "NONE", ] + +modAMPI <- + ranger( + as.factor(Reserve) ~ loggdp + loghf + logconflicts + MarineEcosystemDependency + + logChla + + SST + logtravel_time + HDI + logDistToSeamounts + logdepth + + salinity + + logDistToCoast + Island + logNGO, + data = AMP_I, + keep.inbag = TRUE, + probability = TRUE + ) + + + + +############################### +# Partial plot +############################### + +##################### +#GDP +#################### + +par.mod1_AMP_GDP <- + pdp::partial(modAMP, + pred.var = "loggdp", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_GDP <- + pdp::partial(modAMPI, + pred.var = "loggdp", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_GDP <- + pdp::partial(modATP, + pred.var = "logGDP", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_GDP <- + pdp::partial(modATPI, + pred.var = "logGDP", + prob = TRUE, + which.class = "TRUE") + + +pGDP_m <- + ggplot() + geom_line(data = par.mod1_AMP_GDP, + mapping = aes(x = loggdp, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMP_GDP, + mapping = aes(x = loggdp, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_AMPI_GDP, + mapping = aes(x = loggdp, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_AMPI_GDP, + mapping = aes(x = loggdp, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "Protection probability") + scale_x_continuous(name = "GDP") + +pGDP_t <- + ggplot() + + geom_line(data = par.mod1_ATP_GDP, + mapping = aes(x = logGDP, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATP_GDP, + mapping = aes(x = logGDP, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_ATPI_GDP, + mapping = aes(x = logGDP, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATPI_GDP, + mapping = aes(x = logGDP, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "") + scale_x_continuous(name = "GDP") + +##################### +#chloro +#################### + +par.mod1_AMP_chloro <- + pdp::partial(modAMP, + pred.var = "logChla", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_chloro <- + pdp::partial(modAMPI, + pred.var = "logChla", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_chloro <- + pdp::partial(modATP, + pred.var = "NDVI", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_chloro <- + pdp::partial(modATPI, + pred.var = "NDVI", + prob = TRUE, + which.class = "TRUE") + + +pChloro_m <- + ggplot() + geom_line( + data = par.mod1_AMP_chloro, + mapping = aes(x = logChla, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMP_chloro, + mapping = aes(x = logChla, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_AMPI_chloro, + mapping = aes(x = logChla, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMPI_chloro, + mapping = aes(x = logChla, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "Protection probability") + scale_x_continuous(name = "Chlorophyll-a") + +pChloro_t <- + ggplot() + + geom_line(data = par.mod1_ATP_chloro, + mapping = aes(x = NDVI, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATP_chloro, + mapping = aes(x = NDVI, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line(data = par.mod1_ATPI_chloro, + mapping = aes(x = NDVI, y = yhat), + alpha = 0) + geom_smooth( + data = par.mod1_ATPI_chloro, + mapping = aes(x = NDVI, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "") + scale_x_continuous(name = "NDVI") + + +##################### +#precipitation / salinity +#################### + +par.mod1_AMP_sal <- + pdp::partial(modAMP, + pred.var = "salinity", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_sal <- + pdp::partial(modAMPI, + pred.var = "salinity", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_prec <- + pdp::partial(modATP, + pred.var = "logAnnualPrecipitation", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_prec <- + pdp::partial(modATPI, + pred.var = "logAnnualPrecipitation", + prob = TRUE, + which.class = "TRUE") + + +pSal_m <- + ggplot() + geom_line( + data = par.mod1_AMP_sal, + mapping = aes(x = salinity, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMP_sal, + mapping = aes(x = salinity, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_AMPI_sal, + mapping = aes(x = salinity, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMPI_sal, + mapping = aes(x = salinity, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "Protection probability") + scale_x_continuous(name = "Salinity") + +pPrec_t <- + ggplot() + + geom_line( + data = par.mod1_ATP_prec, + mapping = aes(x = logAnnualPrecipitation, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATP_prec, + mapping = aes(x = logAnnualPrecipitation, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_ATPI_prec, + mapping = aes(x = logAnnualPrecipitation, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATPI_prec, + mapping = aes(x = logAnnualPrecipitation, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "") + scale_x_continuous(name = "Precipitation (log mm)") + + +##################### +#freshwater / seamounts +#################### + +par.mod1_AMP_seamounts <- + pdp::partial(modAMP, + pred.var = "logDistToSeamounts", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_seamounts <- + pdp::partial(modAMPI, + pred.var = "logDistToSeamounts", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_fwater <- + pdp::partial(modATP, + pred.var = "FreshWater", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_fwater <- + pdp::partial(modATPI, + pred.var = "FreshWater", + prob = TRUE, + which.class = "TRUE") + + +pSeamounts_m <- + ggplot() + geom_line( + data = par.mod1_AMP_seamounts, + mapping = aes(x = logDistToSeamounts, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMP_seamounts, + mapping = aes(x = logDistToSeamounts, y = yhat), + span = 0.4, + color = '#034e7b', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_AMPI_seamounts, + mapping = aes(x = logDistToSeamounts, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_AMPI_seamounts, + mapping = aes(x = logDistToSeamounts, y = yhat), + span = 0.4, + color = '#74a9cf', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "Protection probability") + scale_x_continuous(name = "Distance to Seamounts (log m)") + +pFwater_t <- + ggplot() + + geom_line( + data = par.mod1_ATP_fwater, + mapping = aes(x = FreshWater, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATP_fwater, + mapping = aes(x = FreshWater, y = yhat), + span = 0.4, + color = '#8c2d04', + alpha = 0.8, + se = FALSE + ) + + geom_line( + data = par.mod1_ATPI_fwater, + mapping = aes(x = FreshWater, y = yhat), + alpha = 0 + ) + geom_smooth( + data = par.mod1_ATPI_fwater, + mapping = aes(x = FreshWater, y = yhat), + span = 0.4, + color = '#fec44f', + alpha = 0.8, + se = FALSE, + linetype = "twodash" + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "") + scale_x_continuous(name = "Fresh water coverage (%)") + +##################### +#island +#################### + +par.mod1_AMP_Island <- + pdp::partial(modAMP, + pred.var = "Island", + prob = TRUE, + which.class = "TRUE") +par.mod1_AMPI_Island <- + pdp::partial(modAMPI, + pred.var = "Island", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATP_Island <- + pdp::partial(modATP, + pred.var = "Island", + prob = TRUE, + which.class = "TRUE") +par.mod1_ATPI_Island <- + pdp::partial(modATPI, + pred.var = "Island", + prob = TRUE, + which.class = "TRUE") + + +pIsland_m <- + ggplot() + geom_point( + data = par.mod1_AMP_Island, + mapping = aes(x = Island, y = yhat), + color = '#034e7b', + alpha = 0.8 , + shape = 18, + size = 5 + ) + + geom_point( + data = par.mod1_AMPI_Island, + mapping = aes(x = Island, y = yhat), + alpha = 0.8, + color = '#74a9cf', + shape = 18 , + size = 5 + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "Protection probability") + scale_x_discrete(name = "Island") + +pIsland_t <- + ggplot() + + geom_point( + data = par.mod1_ATP_Island, + mapping = aes(x = Island, y = yhat), + alpha = 0.8, + color = "#8c2d04", + size = 5, + shape = 18 + ) + + geom_point( + data = par.mod1_ATPI_Island, + mapping = aes(x = Island, y = yhat), + alpha = 0.8, + color = "#fec44f", + size = 5, + shape = 18 + ) + + theme_classic() + + theme( + panel.border = element_blank(), + panel.grid.major = element_blank(), + panel.grid.minor = element_blank() + ) + + scale_y_continuous(name = "") + scale_x_discrete(name = "Island") + +##################### +#Plot +#################### +partial_plot_append <- + cowplot::plot_grid( + pGDP_m, + pGDP_t, + pChloro_m, + pChloro_t, + pSal_m, + pPrec_t, + pSeamounts_m, + pFwater_t, + pIsland_m, + pIsland_t, + ncol = 2, + labels = c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j") + ) diff --git a/analyses/fig2.R b/analyses/fig2.R new file mode 100644 index 0000000..77badc1 --- /dev/null +++ b/analyses/fig2.R @@ -0,0 +1,856 @@ +library(tidyverse) +library(ggplot2) +library(cowplot) +library(gridExtra) +library(caret) +library(matrixStats) + + +load("data/importance_permutation_marine.Rdata") +load("data/importance_permutation_marine_strict.Rdata") +load("data/importance_permutation_terrestrial.Rdata") +load("data/importance_permutation_terrestrial_strict.Rdata") + + +###############MPA############################# +#### Data formatting +data.A <- importance_permutation_marine %>% + drop_na(rowname) %>% + mutate(mod = rep(1:10, each = 14)) %>% + group_by(mod) %>% + mutate(value.std = (importance.mod. - min(importance.mod.)) / (max(importance.mod.) - + min(importance.mod.))) %>% + ungroup() %>% + group_by(rowname) %>% + mutate(AMP_All.mean = mean(value.std), + AMP_All.sd = sd(value.std)) %>% + slice(1) %>% + select(rowname, AMP_All.mean, AMP_All.sd) %>% + data.frame() %>% + rename("Variables" = "rowname") %>% + mutate(Factors = case_when( + Variables %in% c( + "Island", + "SST", + "logChla", + "logDistToCoast", + "logDistToSeamounts", + "logdepth", + "logsalinity" + ) ~ "Environmental", + TRUE ~ "Socioeconomic" + )) %>% + mutate(Variables = recode(Variables, "logMarineEcosystemDependency" = "Fish. Dep.")) %>% + mutate(Variables = recode(Variables, "SST" = "Temp.")) %>% + mutate(Variables = recode(Variables, "hf" = "H. Footprint")) %>% + mutate(Variables = recode(Variables, "logChla" = "Chloro. a")) %>% + mutate(Variables = recode(Variables, "logDistToCoast" = "Dist to Mainland")) %>% + mutate(Variables = recode(Variables, "logDistToSeamounts" = "Dist to Seamounts")) %>% + mutate(Variables = recode(Variables, "logHDI" = "HDI")) %>% + mutate(Variables = recode(Variables, "logNGO" = "NGO")) %>% + mutate(Variables = recode(Variables, "logdepth" = "Bathymetry")) %>% + mutate(Variables = recode(Variables, "loggdp" = "GDP")) %>% + mutate(Variables = recode(Variables, "logsalinity" = "Salinity")) %>% + mutate(Variables = recode(Variables, "logtravel_time" = "Access.")) %>% + mutate(Variables = recode(Variables, "logconflicts" = "Conflicts")) %>% + arrange(Factors) + + + +data.B <- importance_permutation_marine_strict %>% + drop_na(rowname) %>% + mutate(mod = rep(1:10, each = 14)) %>% + group_by(mod) %>% + mutate(value.std = (importance.mod. - min(importance.mod.)) / (max(importance.mod.) - + min(importance.mod.))) %>% + ungroup() %>% + group_by(rowname) %>% + mutate(AMP_I.mean = mean(value.std), + AMP_I.sd = sd(value.std)) %>% + slice(1) %>% + select(rowname, AMP_I.mean, AMP_I.sd) %>% + data.frame() %>% + rename("Variables" = "rowname") %>% + mutate(Factors = case_when( + Variables %in% c( + "Island", + "SST", + "logChla", + "logDistToCoast", + "logDistToSeamounts", + "logdepth", + "logsalinity" + ) ~ "Environmental", + TRUE ~ "Socioeconomic" + )) %>% + mutate(Variables = recode(Variables, "logMarineEcosystemDependency" = "Fish. Dep.")) %>% + mutate(Variables = recode(Variables, "SST" = "Temp.")) %>% + mutate(Variables = recode(Variables, "hf" = "H. Footprint")) %>% + mutate(Variables = recode(Variables, "logChla" = "Chloro. a")) %>% + mutate(Variables = recode(Variables, "logDistToCoast" = "Dist to Mainland")) %>% + mutate(Variables = recode(Variables, "logDistToSeamounts" = "Dist to Seamounts")) %>% + mutate(Variables = recode(Variables, "logHDI" = "HDI")) %>% + mutate(Variables = recode(Variables, "logNGO" = "NGO")) %>% + mutate(Variables = recode(Variables, "logdepth" = "Bathymetry")) %>% + mutate(Variables = recode(Variables, "loggdp" = "GDP")) %>% + mutate(Variables = recode(Variables, "logsalinity" = "Salinity")) %>% + mutate(Variables = recode(Variables, "logtravel_time" = "Access.")) %>% + mutate(Variables = recode(Variables, "logconflicts" = "Conflicts")) %>% + arrange(Factors) + +data = merge(data.A, data.B[, c(1, 2, 3)], by = "Variables", sort = FALSE) + + +###############TPA############################# +#### Data formatting + +data2.A <- importance_permutation_terrestrial %>% + drop_na(rowname) %>% + mutate(mod = rep(1:10, each = 14)) %>% + group_by(mod) %>% + mutate(value.std = (importance.mod. - min(importance.mod.)) / (max(importance.mod.) - + min(importance.mod.))) %>% + ungroup() %>% + group_by(rowname) %>% + mutate(ATP_All.mean = mean(value.std), + ATP_All.sd = sd(value.std)) %>% + slice(1) %>% + select(rowname, ATP_All.mean, ATP_All.sd) %>% + data.frame() %>% + rename("Variables" = "rowname") %>% + mutate(Factors = case_when( + Variables %in% c( + "Island", + "MeanTemperature", + "NDVI", + "logDistToOcean", + "logAnnualPrecipitation", + "logAltitude", + "logFreshWater" + ) ~ "Environmental", + TRUE ~ "Socioeconomic" + )) %>% + mutate(Variables = recode(Variables, "logNaturalRessources" = "Natural Res.")) %>% + mutate(Variables = recode(Variables, "MeanTemperature" = "Temp.")) %>% + mutate(Variables = recode(Variables, "loghf" = "H. Footprint")) %>% + mutate(Variables = recode(Variables, "logDistToOcean" = "Dist to Ocean")) %>% + mutate(Variables = recode(Variables, "logAnnualPrecipitation" = "Precipitation")) %>% + mutate(Variables = recode(Variables, "logHDI" = "HDI")) %>% + mutate(Variables = recode(Variables, "logNGO" = "NGO")) %>% + mutate(Variables = recode(Variables, "logAltitude" = "Altitude")) %>% + mutate(Variables = recode(Variables, "logGDP" = "GDP")) %>% + mutate(Variables = recode(Variables, "logFreshWater" = "Freshwater")) %>% + mutate(Variables = recode(Variables, "logtt" = "Access.")) %>% + mutate(Variables = recode(Variables, "logconflicts" = "Conflicts")) %>% + arrange(Factors) + + + +data2.B <- importance_permutation_terrestrial_strict %>% + drop_na(rowname) %>% + mutate(mod = rep(1:10, each = 14)) %>% + group_by(mod) %>% + mutate(value.std = (importance.mod. - min(importance.mod.)) / (max(importance.mod.) - + min(importance.mod.))) %>% + ungroup() %>% + group_by(rowname) %>% + mutate(ATP_I.mean = mean(value.std), + ATP_I.sd = sd(value.std)) %>% + slice(1) %>% + select(rowname, ATP_I.mean, ATP_I.sd) %>% + data.frame() %>% + rename("Variables" = "rowname") %>% + mutate(Factors = case_when( + Variables %in% c( + "Island", + "MeanTemperature", + "NDVI", + "logDistToOcean", + "logAnnualPrecipitation", + "logAltitude", + "logFreshWater" + ) ~ "Environmental", + TRUE ~ "Socioeconomic" + )) %>% + mutate(Variables = recode(Variables, "logNaturalRessources" = "Natural Res.")) %>% + mutate(Variables = recode(Variables, "MeanTemperature" = "Temp.")) %>% + mutate(Variables = recode(Variables, "loghf" = "H. Footprint")) %>% + mutate(Variables = recode(Variables, "logDistToOcean" = "Dist to Ocean")) %>% + mutate(Variables = recode(Variables, "logAnnualPrecipitation" = "Precipitation")) %>% + mutate(Variables = recode(Variables, "logHDI" = "HDI")) %>% + mutate(Variables = recode(Variables, "logNGO" = "NGO")) %>% + mutate(Variables = recode(Variables, "logAltitude" = "Altitude")) %>% + mutate(Variables = recode(Variables, "logGDP" = "GDP")) %>% + mutate(Variables = recode(Variables, "logFreshWater" = "Freshwater")) %>% + mutate(Variables = recode(Variables, "logtt" = "Access.")) %>% + mutate(Variables = recode(Variables, "logconflicts" = "Conflicts")) %>% + arrange(Factors) + + +data2 = merge(data2.A, data2.B[, c(1, 2, 3)], by = "Variables", sort = FALSE) + + + +# Set a number of 'empty bar' to add at the end of each group +empty_bar = 0 +to_add = data.frame(matrix(NA, empty_bar, ncol(data))) +colnames(to_add) = colnames(data) +to_add$Factors = rep("Human Footprint", each = empty_bar) +data = rbind(data, to_add) +data$id = c(4, 3, 1, 2, 6, 5, 7, 8, 9, 10, 14, 13, 11, 12) + +# Set a number of 'empty bar' to add at the end of each group +empty_bar = 0 +to_add = data.frame(matrix(NA, empty_bar, ncol(data2))) +colnames(to_add) = colnames(data2) +to_add$Factors = rep("Human Footprint", each = empty_bar) +data2 = rbind(data2, to_add) +data2$id = c(4, 1, 6, 2, 5, 7, 3, 9, 10, 14, 8, 13, 11, 12) + + +base_data = data %>% + group_by(Factors) %>% + summarize(start = min(id), end = max(id) - empty_bar) %>% + rowwise() %>% + mutate(title = mean(c(start, end))) + +base_data2 = data2 %>% + group_by(Factors) %>% + summarize(start = min(id), end = max(id) - empty_bar) %>% + rowwise() %>% + mutate(title = mean(c(start, end))) + +grid_data = base_data +grid_data$end = grid_data$end[c(nrow(grid_data), 1:nrow(grid_data) - 1)] + 1 +grid_data$start = grid_data$start - 1 +grid_data = grid_data[-1, ] + +# prepare a data frame for grid (scales) +grid_data2 = base_data2 +grid_data2$end = grid_data2$end[c(nrow(grid_data2), 1:nrow(grid_data2) - + 1)] + 1 +grid_data2$start = grid_data2$start - 1 +grid_data2 = grid_data2[-1, ] + +segment_data = matrix(NA, 21, 4) +segment_data = as.data.frame(segment_data) +colnames(segment_data) = c("xstart", "ystart", "xend", "yend") +segment_data[, 1] = c(rep(0.5, 6), seq(0.5, 14.5, 1)) +segment_data[, 2] = c(seq(0, 1, 0.2), rep(0, 15)) +segment_data[, 3] = c(rep(14.5, 6), seq(0.5, 14.5, 1)) +segment_data[, 4] = c(seq(0, 1, 0.2), rep(1, 15)) + +segment_data2 = matrix(NA, 21, 4) +segment_data2 = as.data.frame(segment_data2) +colnames(segment_data2) = c("xstart", "ystart", "xend", "yend") +segment_data2[, 1] = c(rep(0.5, 6), seq(0.5, 14.5, 1)) +segment_data2[, 2] = c(seq(0, 1, 0.2), rep(0, 15)) +segment_data2[, 3] = c(rep(14.5, 6), seq(0.5, 14.5, 1)) +segment_data2[, 4] = c(seq(0, 1, 0.2), rep(1, 15)) + + +# Get the name and the y position of each label +label_data = data +number_of_bar = nrow(label_data) +angle = 90 - 360 * (label_data$id - 0.5) / number_of_bar # I substract 0.5 because the letter must have the angle of the center of the bars. Not extreme right(1) or extreme left (0) +label_data$hjust <- ifelse(angle < -90, 1, 0) +label_data$angle <- ifelse(angle < -90, angle + 180, angle) + +# Get the name and the y position of each label +label_data2 = data2 +number_of_bar = nrow(label_data2) +angle = 90 - 360 * (label_data2$id - 0.5) / number_of_bar # I substract 0.5 because the letter must have the angle of the center of the bars. Not extreme right(1) or extreme left (0) +label_data2$hjust <- ifelse(angle < -90, 1, 0) +label_data2$angle <- ifelse(angle < -90, angle + 180, angle) + + +cols = c("#008B8B", "#ee8761") + +##################################################### +p = ggplot(data, aes(x = as.factor(id), y = AMP_All.mean, fill = Factors)) + # Note that id is a factor. If x is numeric, there is some space between the first bar + + geom_bar(aes(x = as.factor(id), y = AMP_All.mean, fill = Factors), + stat = "identity", + alpha = 0) + + scale_fill_manual(values = cols) + + + geom_segment( + data = segment_data, + aes( + x = xstart, + y = ystart, + xend = xend, + yend = yend + ), + colour = "grey", + alpha = 0.7, + size = 0.09, + inherit.aes = FALSE + ) + + geom_bar(aes(x = as.factor(id), y = AMP_All.mean, fill = Factors), + stat = "identity", + alpha = 0.6) + + geom_linerange(aes(ymin = AMP_All.mean - AMP_All.sd, ymax = AMP_All.mean + + AMP_All.sd), + colour = "gray47") + + + # Add text + annotate( + "text", + x = rep(15, 6), + y = c(0, 0.2, 0.4, 0.6, 0.8, 1), + label = c("0", "0.2", "0.4", "0.6", "0.8", "1") , + color = "grey", + size = 2.5 , + angle = 0, + fontface = "bold", + hjust = 1 + ) + + ylim(-0.5, 1.1) + + theme_minimal() + + theme( + legend.position = "none", + axis.text = element_blank(), + axis.title = element_blank(), + panel.grid = element_blank(), + plot.margin = unit(c(0, 0, 0, 0), "cm") + ) + + coord_polar() + + geom_text( + data = label_data, + aes( + x = id, + y = AMP_All.mean + 0.04, + label = Variables, + hjust = hjust + ), + color = "black", + fontface = "bold", + alpha = 0.6, + size = 3.5, + angle = label_data$angle, + inherit.aes = FALSE + ) + + + # Add base line information + geom_segment( + data = base_data, + aes( + x = start - 0.1, + y = -0.05, + xend = end + 0.1, + yend = -0.05 + ), + colour = cols, + alpha = 0.5, + size = 0.7 , + inherit.aes = FALSE, + + ) + + theme(plot.title = element_text(vjust = -40)) + + theme( + legend.text = element_text( + colour = "grey", + size = 10, + face = "bold" + ), + legend.position = "none" + )#+ + + +##################################################### +p1 = ggplot(data, aes(x = as.factor(id), y = AMP_I.mean, fill = Factors)) + # Note that id is a factor. If x is numeric, there is some space between the first bar + + geom_bar(aes(x = as.factor(id), y = AMP_I.mean, fill = Factors), + stat = "identity", + alpha = 0) + + scale_fill_manual(values = cols) + + + geom_segment( + data = segment_data, + aes( + x = xstart, + y = ystart, + xend = xend, + yend = yend + ), + colour = "grey", + alpha = 0.7, + size = 0.09, + inherit.aes = FALSE + ) + + geom_bar(aes(x = as.factor(id), y = AMP_I.mean, fill = Factors), + stat = "identity", + alpha = 0.6) + + geom_linerange(aes(ymin = AMP_I.mean - AMP_I.sd, ymax = AMP_I.mean + AMP_I.sd), + col = "gray47") + + + # Add text + annotate( + "text", + x = rep(15, 6), + y = c(0, 0.2, 0.4, 0.6, 0.8, 1), + label = c("0", "0.2", "0.4", "0.6", "0.8", "1") , + color = "grey", + size = 2.5 , + angle = 0, + fontface = "bold", + hjust = 1 + ) + + ylim(-0.5, 1.1) + + theme_minimal() + + theme( + legend.position = "none", + axis.text = element_blank(), + axis.title = element_blank(), + panel.grid = element_blank(), + plot.margin = unit(c(0, 0, 0, 0), "cm") + ) + + coord_polar() + + geom_text( + data = label_data, + aes( + x = id, + y = AMP_I.mean + 0.04, + label = Variables, + hjust = hjust + ), + color = "black", + fontface = "bold", + alpha = 0.6, + size = 3.5, + angle = label_data$angle, + inherit.aes = FALSE + ) + + + # Add base line information + geom_segment( + data = base_data, + aes( + x = start - 0.1, + y = -0.05, + xend = end + 0.1, + yend = -0.05 + ), + colour = cols, + alpha = 0.5, + size = 0.7 , + inherit.aes = FALSE, + + ) + + theme(plot.title = element_text(vjust = -40)) + + theme( + legend.text = element_text( + colour = "grey", + size = 10, + face = "bold" + ), + legend.position = "none" + )# + +##################################################### +p2 = ggplot(data2, aes(x = as.factor(id), y = ATP_All.mean, fill = Factors)) + # Note that id is a factor. If x is numeric, there is some space between the first bar + + geom_bar(aes(x = as.factor(id), y = ATP_All.mean, fill = Factors), + stat = "identity", + alpha = 0) + + scale_fill_manual(values = cols) + + + geom_segment( + data = segment_data2, + aes( + x = xstart, + y = ystart, + xend = xend, + yend = yend + ), + colour = "grey", + alpha = 0.5, + size = 0.09, + inherit.aes = FALSE + ) + + geom_bar(aes(x = as.factor(id), y = ATP_All.mean, fill = Factors), + stat = "identity", + alpha = 0.6) + + geom_linerange(aes(ymin = ATP_All.mean - ATP_All.sd, ymax = ATP_All.mean + + ATP_All.sd), + col = "gray47") + + # Add text + annotate( + "text", + x = rep(15, 6), + y = c(0, 0.2, 0.4, 0.6, 0.8, 1), + label = c("0", "0.2", "0.4", "0.6", "0.8", "1") , + color = "grey", + size = 2.5 , + angle = 0, + fontface = "bold", + hjust = 1 + ) + + + ylim(-0.5, 1.1) + + theme_minimal() + + theme( + legend.position = "none", + axis.text = element_blank(), + axis.title = element_blank(), + panel.grid = element_blank(), + plot.margin = unit(c(0, 0, 0, 0), "cm") + ) + + coord_polar() + + geom_text( + data = label_data2, + aes( + x = id, + y = ATP_All.mean + 0.04, + label = Variables, + hjust = hjust + ), + color = "black", + fontface = "bold", + alpha = 0.6, + size = 3.5, + angle = label_data2$angle, + inherit.aes = FALSE + ) + + + # Add base line information + geom_segment( + data = base_data2, + aes( + x = start - 0.1, + y = -0.05, + xend = end + 0.1, + yend = -0.05 + ), + colour = cols, + alpha = 0.5, + size = 0.7 , + inherit.aes = FALSE + ) + + theme(plot.title = element_text(vjust = -40)) + + theme( + legend.text = element_text( + colour = "grey", + size = 10, + face = "bold" + ), + legend.position = "none" + ) + + +################################################### + +p3 = ggplot(data2, aes(x = as.factor(id), y = ATP_I.mean, fill = Factors)) + # Note that id is a factor. If x is numeric, there is some space between the first bar + + geom_bar(aes(x = as.factor(id), y = ATP_I.mean, fill = Factors), + stat = "identity", + alpha = 0) + + scale_fill_manual(values = cols) + + + geom_segment( + data = segment_data2, + aes( + x = xstart, + y = ystart, + xend = xend, + yend = yend + ), + colour = "grey", + alpha = 0.5, + size = 0.09, + inherit.aes = FALSE + ) + + geom_bar(aes(x = as.factor(id), y = ATP_I.mean, fill = Factors), + stat = "identity", + alpha = 0.6) + + geom_linerange(aes(ymin = ATP_I.mean - ATP_I.sd, ymax = ATP_I.mean + ATP_I.sd), + col = "gray47") + + + + # Add text + annotate( + "text", + x = rep(15, 6), + y = c(0, 0.2, 0.4, 0.6, 0.8, 1), + label = c("0", "0.2", "0.4", "0.6", "0.8", "1") , + color = "grey", + size = 2.5 , + angle = 0, + fontface = "bold", + hjust = 1 + ) + + + ylim(-0.5, 1.1) + + theme_minimal() + + theme( + legend.position = "none", + axis.text = element_blank(), + axis.title = element_blank(), + panel.grid = element_blank(), + plot.margin = unit(c(0, 0, 0, 0), "cm") + ) + + coord_polar() + + geom_text( + data = label_data2, + aes( + x = id, + y = ATP_I.mean + 0.04, + label = Variables, + hjust = hjust + ), + color = "black", + fontface = "bold", + alpha = 0.6, + size = 3.5, + angle = label_data2$angle, + inherit.aes = FALSE + ) + + + # Add base line information + geom_segment( + data = base_data2, + aes( + x = start - 0.1, + y = -0.05, + xend = end + 0.1, + yend = -0.05 + ), + colour = cols, + alpha = 0.5, + size = 0.7 , + inherit.aes = FALSE, + + ) + + theme(plot.title = element_text(vjust = -40)) + + theme( + legend.text = element_text( + colour = "grey", + size = 10, + face = "bold" + ), + legend.position = "none" + ) + + theme( + legend.text = element_text( + colour = "gray47", + size = 10, + face = "bold" + ), + legend.position = "bottom", + legend.title = element_text( + colour = "gray49", + size = 12, + face = "bold" + ) + ) + + theme(legend.spacing.y = unit(3, 'lines')) + + guides(fill = guide_legend(byrow = TRUE)) + + +##################################################### + + + +# 2. Save the legend +#+++++++++++++++++++++++ +legend <- get_legend(p3) + +# 3. Remove the legend from the box plot +#+++++++++++++++++++++++ +p3 <- p3 + theme(legend.position = "none") + + +databar <- data %>% + select(c("AMP_All.mean", "AMP_I.mean", "Factors")) %>% + group_by(Factors) %>% + summarise_all(mean) %>% + arrange(desc(Factors)) + +databar2 <- data2 %>% + select(c("ATP_All.mean", "ATP_I.mean", "Factors")) %>% + group_by(Factors) %>% + summarise_all(mean) %>% + arrange(desc(Factors)) + + +### Create barplot + +g = ggplot() + + geom_bar( + data = databar, + mapping = aes(x = c(1, 2), y = AMP_All.mean, fill = Factors), + stat = "identity", + alpha = 0.6 + ) + + theme_minimal() + + theme( + legend.position = "none", + axis.text = element_blank(), + axis.title = element_blank(), + panel.grid = element_blank() + ) + + scale_fill_manual(values = cols) + + scale_x_continuous("", labels = c("", ""), breaks = c(1, 2)) + + scale_y_continuous( + "", + labels = c(0, 0.2, 0.4, 0.6), + breaks = c(0, 0.2, 0.4, 0.6), + limits = c(0, 0.7) + ) + + theme(legend.position = "none") + + theme( + axis.line.x = element_line(size = 0.25, color = "gray47"), + axis.line.y = element_line(size = 0.25, color = "gray47"), + axis.ticks.x = element_line(size = 0.25, color = "gray47"), + axis.ticks.y = element_line(size = 0.25, color = "gray47"), + axis.text = element_text(size = 6, color = "gray47") + ) + + +g1 = ggplot() + + geom_bar( + data = databar, + mapping = aes(x = c(1, 2), y = AMP_I.mean, fill = Factors), + stat = "identity", + alpha = 0.6 + ) + + theme_minimal() + + theme( + legend.position = "none", + axis.text = element_blank(), + axis.title = element_blank(), + panel.grid = element_blank() + ) + + scale_fill_manual(values = cols) + + scale_x_continuous("", labels = c("", ""), breaks = c(1, 2)) + + scale_y_continuous( + "", + labels = c(0, 0.2, 0.4, 0.6), + breaks = c(0, 0.2, 0.4, 0.6), + limits = c(0, 0.7) + ) + + theme(legend.position = "none") + + theme( + axis.line.x = element_line(size = 0.25, color = "gray47"), + axis.line.y = element_line(size = 0.25, color = "gray47"), + axis.ticks.x = element_line(size = 0.25, color = "gray47"), + axis.ticks.y = element_line(size = 0.25, color = "gray47"), + axis.text = element_text(size = 6, color = "gray47") + ) + + +g2 = ggplot() + + geom_bar( + data = databar2, + mapping = aes(x = c(1, 2), y = ATP_All.mean, fill = Factors), + stat = "identity", + alpha = 0.6 + ) + + theme_minimal() + + theme( + legend.position = "none", + axis.text = element_blank(), + axis.title = element_blank(), + panel.grid = element_blank() + ) + + scale_fill_manual(values = cols) + + scale_x_continuous("", labels = c("", ""), breaks = c(1, 2)) + + scale_y_continuous( + "", + labels = c(0, 0.2, 0.4, 0.6), + breaks = c(0, 0.2, 0.4, 0.6), + limits = c(0, 0.7) + ) + + theme(legend.position = "none") + + theme( + axis.line.x = element_line(size = 0.25, color = "gray47"), + axis.line.y = element_line(size = 0.25, color = "gray47"), + axis.ticks.x = element_line(size = 0.25, color = "gray47"), + axis.ticks.y = element_line(size = 0.25, color = "gray47"), + axis.text = element_text(size = 6, color = "gray47") + ) + +g3 = ggplot() + + geom_bar( + data = databar2, + mapping = aes(x = c(1, 2), y = ATP_I.mean, fill = Factors), + stat = "identity", + alpha = 0.6 + ) + + theme_minimal() + + theme( + legend.position = "none", + axis.text = element_blank(), + axis.title = element_blank(), + panel.grid = element_blank() + ) + + scale_fill_manual(values = cols) + + scale_x_continuous("", labels = c("", ""), breaks = c(1, 2)) + + scale_y_continuous( + "", + labels = c(0, 0.2, 0.4, 0.6), + breaks = c(0, 0.2, 0.4, 0.6), + limits = c(0, 0.7) + ) + + theme(legend.position = "none") + + theme( + axis.line.x = element_line(size = 0.25, color = "gray47"), + axis.line.y = element_line(size = 0.25, color = "gray47"), + axis.ticks.x = element_line(size = 0.25, color = "gray47"), + axis.ticks.y = element_line(size = 0.25, color = "gray47"), + axis.text = element_text(size = 6, color = "gray47") + ) + +### Insert barplot within circular plot +gg = ggdraw() + + draw_plot(p, 0, 0, 1, 1) + + draw_plot(g, 0.404, 0.38, 0.19, 0.19) + + draw_plot_label("b", 0, 1) + +gg1 = ggdraw() + + draw_plot(p1, 0, 0, 1, 1) + + draw_plot(g1, 0.404, 0.38, 0.19, 0.19) + + draw_plot_label("d", 0, 1) + +gg2 = ggdraw() + + draw_plot(p2, 0, 0, 1, 1) + + draw_plot(g2, 0.404, 0.38, 0.19, 0.199) + + draw_plot_label("a", 0, 1) + +gg3 = ggdraw() + + draw_plot(p3, 0, 0, 1, 1) + + draw_plot(g3, 0.404, 0.38, 0.19, 0.19) + + draw_plot_label("c", 0, 1) + +t <- grid::textGrob("All IUCN \n (I - VI)") +t1 <- grid::textGrob("IUCN I \n only") +t2 <- grid::textGrob("Terrestrial Protected Areas") +t3 <- grid::textGrob("Marine Protected Areas") +t_empty <- grid::textGrob("") +grid.arrange( + t_empty, + t2, + t3, + t, + gg2, + gg, + t1, + gg3, + gg1, + t_empty, + legend, + ncol = 9, + nrow = 6, + layout_matrix = rbind( + c(1, 2, 2, 2, 2, 3, 3, 3, 3), + c(4, 5, 5, 5, 5, 6, 6, 6, 6), + c(4, 5, 5, 5, 5, 6, 6, 6, 6), + c(4, 5, 5, 5, 5, 6, 6, 6, 6), + c(7, 8, 8, 8, 8, 9, 9, 9, 9), + c(7, 8, 8, 8, 8, 9, 9, 9, 9), + c(7, 8, 8, 8, 8, 9, 9, 9, 9), + c(10, 11, 11, 11, 11, 11, 11, 11, 11) + ) +) + diff --git a/data/importance_permutation_marine.Rdata b/data/importance_permutation_marine.Rdata new file mode 100644 index 0000000000000000000000000000000000000000..ac365a36f10238289ae27a2be9104f1dbaadb366 GIT binary patch literal 1829 zcmV+=2io`_iwFP!000001MQh@P*cYm$0H#q0Yt%<3vHE3;i}w5YbaF@u&@c7CnB*j3oH4iARC@AetqBu zlX@3ZoBtXf#1Kl7B~lhYkR@UXm@EM!`HhIs;4LO)k12*wz~*roQi*xQ1_=)lFina` zr$?BY)3L#8IXuK9XJC@a5=l8G?S$z-u0$Fkq_YsdFi9{u)qf|&%^c^$azqP{=^#(u>;jj%9e;1(V)K?qz&%z0!{M0{X=dJV0dSBL4Q*K zoZI6va`<)qzXu2tcF3Xj>ki(m>3vXlW3>8czX8zqGrrLJ*F(kV*0~M0LLq$ty*VvK z2s+;!tGMM)0d4xU7z(MN3<;j;QfS=a@nzhv~+PVc4e;Bo4EiXV(^aW>tX9cPYh3xQn1?V}08#$-lp;GVG zgLGSizW2Aav9lL}+`qWWO`(|N>RjX6v`=q?UXb#^fh-?D%Y%MmEy#t+W28l`f<#E) z?ZH)z_JeMj`nz29IH2;K2^~u)P&T|L;jTjzDA}dS)e<*QRlPID{ALyCi)4Ot?hJwE z;Tm-RSvRP^m8kcQDg?QBcqwmd^c1%ugZQJfH|QO<7yFC8gc{-U=uMBdL1q4TuM!&- zaF|oMPv7kdx}oV=9VgQOUABVxS^ajn)Hc(3*UJo0BAdkXY->SvuIqVb!5Gx1FD}?b zwFS-BOCHBimV?2m+|Emu0`fcuhHtrUl8dh2VkCR#V%*q_XLFT+Zrl8tHXH_(JSy$# zuX%7dEYJNb$5PPQ`~X8yWT;`O<{K{#LK(F=U~6d)C{u03(b@f=`lYg<(RdQ{$9rwi z`#ErJzw+l(W6fZQ4EUql^*G4-*EvKLCQj|EGJkDgb`aEc?UUT~SO#dM`|L$?N1&>= z;QKoXYB)4+Nh?n?47v{+K>nZ|u3u^K{3vo0D2zdYGulc(;o-Q;2`WIfx70DEwi)VF zoXB+}R-h>r57Iq90K@6z&5t;VP`swz9hKWpaVd-U8`AAS@8aV9a+e37+KhF}@(zIJ zcB-pJ^c5VAjmnD)8-d!vCP7BZLZ~78F7)CjKv|(deg4P*w!fmaee=sfbu8q<jKoW0zGR@{Py1NZHZjT{9zr|ZDRoM}`0+4aOhk9ZrX3%*y!52**#sEK0x z)kEdTwErkS{THOC`8SeJbwKUdiszaWdZ@0YeNxK30Ez`1&)!wxaOsCU;_duMP@g%I zA?)RWK00@RsKMg5wVq8rn*xnKs{C!QJ_eb=aPG>{OJ=V5+%jvtYUo?tQlq|Zi#zw% z;?A9bE*yh^W#-gk6(E#{@nk%cs^{xf4$wiA5q|8Bal(vTP=+;E6?25%uBa z;sgmFv{7>28d4lhi6o>cYc7oKGv8;v&wQWxKJ$I%`^@*5|9_fi&KRU2-!RhK?d%+s zh@XnTkuQSwvMy`y_&<^F>)~DKuZHlHN5!`@u0g+;^8D543XR&8pV4dvwa-@t$J)z~ z{rdCPb>tkVn<|$Q1%;sXXD)4i4QSadGW+HuD8C)WUA}Z0wp9ET>rpR2(QmHSHb*O< z%ip#8Nv;!UyX$!$eK`S#vUYAG>s}&$bjTZ904P}phM9zKH*jp(r&VM1OBPl^IQi|oc0)YMZ8s-Bv+w}Dtfjee!8NFJYs8oK z5<+LYHnKK)6Es$?Lznv5px{Pene(tj@ST%aXcL=oI3UV?T3RX!e|YYh@6do8?^mo< zX%SFM_1+a;Ly%q3|F&mkJT#}Q>qq9)Aa6^iG{5=}l<$$BT-e%#)U#equ1X^`?1(be z{GU+zEd4GkBmi`Bv{%&(7v%3Aq>Oo`gm9UQ%_T!1^bZP>#x^EF=bxEzoi!G!6=ObW z)%QboM~J58h!50BLDv1*mC#MR!oJ$D0wq)LyX`lt!qMy{= zu?AN`*FM!KQpcn8?6zR#u22+)3h$cDY{N=c_E?vA7nF;a)ZII-fsW6Kn-J^?)zKuy zfz^)4?Kl)^m|K9Hj)QC;PCZJA$M@1APoU)Vs~JZ)mN=@q5Vu-69;s{gIzBqqABFW< z&O6@lp>x?3;XKO)^tjsZgU?G*Fk;=OCxj7*cgt;^{ZNE*JJm3u!WHy}jtgbfX{drv z3eRv7kgeaUTJH1f^OjamY)wGq897;(cn@M_0Q*Kj~(k8D}_X#d42)hhtFj zH@?~DZiL#_BPf$LLr%LQEqQ)AwC&A1j89g99-h@SH?$fRJC=?zJ1#+rUG<19YdI*I z(&3PixgEO2XB_-)41uO?I{mijDhl;s$1gu`f~Y8Df`XK4&;LC<>L17Z0{y2|!Bb$~tz^ zqh8ynm6RtT6-4)%Y2NcF%4LaNc@wqycVl&z$OP`aBnB|m?maRCyJV7>PiJQ*)q56S z%v1EtvgmmpsTgszpy%zkV3;Xn33wFGJyzazk6r_%Ja-wG2`jWOWOfcQWx4qIwLpQx za2XrCdx$eKWpX87Di9`R3gsEwlzgRFCQVWb<#M4yDHro4=*0ysjdwZ0e$$<^B(l^s z5o=8)SCnG-%58GKWP?zlkZqF-go>A1#ze)MO7&m9!VE0mxBzn_ZcM~R^XeSXMO(6M&fj%miR205bvj z{|x|!g8gL3?lZjhw>iYt4qBY|y+v%oQl=$MLK>Spxv!2dBz5D8RX#!INOk2f&o!f% zR4dYTPY1cA`!Vm=vpLSBEqy#8nB__>3m&%KebbS4RP<%OtLq|NPRWUa1yQ8+89gm~ z(n2*w*RD-)V#sjo#{*TjZHaa4UcByhD`_(x?_9GrhFTjsd6OaD)H3(8+C@D|YP!+D zdY;=tjT39{tZ>>x`fLX)yNx_zF9x}bJDo`VBFg%4KGE+(j@M=_X(WT!u;Gx%k+g-0 zE1h58KsA$_ychWelm1g~UeYmd(!Bk~zV;{`wS}&Zf1g#6Ca^pGr}GWe5*k_6)>c8y z_kO#ct~?}_TWMlKZzAb^LT+r#KSSCrZo(_yU#FI|r}2w*xwJ!6uhETrliuyG>4m*r zq^&Phtji**NzWe5-Fu1J*UYLsc+s6SlKtyvKRZOM^|0q1k8h~8|HS(-gE^$;JC2PU zZYR}~(5ma+_o-3!+3&1wNl16Jp+NaOkThMq`w!}hNzIDvYLCsQ9ev@d&p8K49};VQ z^NT&i^1clS9gU;>#fXK0zw(oKEKf0O^1m+-aqj9z5&u?u>nbW z9;D{j`Q&e1M$L2UcI|w7H#PAd?H&j$ApMFp#dX26h|OibukPJV>ZdyzK2Yi?dv3<5 zs+EsP*XfeK{R!6R-m!X*`!TACei0qUTSSJUlFF`DtnYMn+sT>%(z^Dl+V6c#nzKts z6&_`z&LaM0K{BZ(pIP0P{)U=*QnosI;QKo%N|m1dj*73GMjvAfW#{g=(8znkphGq03bm2=+a+tt*xTAFMcB=R4sNe~YlA+$yHvj7fq;(j}7u7qF*1jwBtuas1 z)TWCXUW`)|K#q@$)gspWv32( zxQwz#>^!UcVn~05U-{k82x-H=N=>)8Mzzka*{MF)r=3}?r2Gu*sZ+;M3sa@FT$W|5 zH}7TtJ=gkY$Wr{Lbzy_n{^o8RjNN>Um&wUV<@B)x628JbmZf>yRBn+ZrI>eSOO#9> zZBzJ4zQ0IroX4~QrF?(B;O9M>u`~`?X`G~~-#Oq6#$&cCylULx;TJFu=EDMb4cx#T zmVzH(Wy~^I4gs(NRze`W0jnSgaPVh>Aq3U}57xnYh=v%5g*bQzHo&_O4+*dl-UAV& zLK=u+E2M)2G63siWRM9Tg7Htn7(WD-*$sOjANE246haZ~gJR>K36#JAD1|a8ha+$l z8sHN+2A{%lH~}Z&6r6@eXaW^9!$r`69t_Y9m*CHE8Lq%p=zwd`34ehu=!LK0?{F9H zK_B$PefS0jU=W7j0elO?@C?S_IgG;#n1Fx5PcUiB55Nlt$-=P&E?5EbfP*~XAP+dm z0}k?lgFN6M4>-sJ4)TD5Jm4&Z*I^MX29K%4vq0a>56skK8*>smrU*sG=Q=4##wR<{ z)M=NwTlfm0sm_6!nwyhps^+?xw4F)Y|54ihC+C={ag1rqHKwr>^HPq=GQ>*LJbw0X LL&p#i>=Xb1T?VPi literal 0 HcmV?d00001 diff --git a/data/importance_permutation_terrestrial_strict.Rdata b/data/importance_permutation_terrestrial_strict.Rdata new file mode 100644 index 0000000000000000000000000000000000000000..401e20fde15a442f747841063224f9e1f0d53797 GIT binary patch literal 1598 zcmV-E2Eq9siwFP!000001MOE?R8va@WgBTrQ51`^Vp&owYqF%QS1e!P?n_ZtmV{VPR@6Z9cNHci zN*Ea}<_TgF1x$imM$3c}ag0pBFaoKJ5z?X<3V%x^+V7|0!c~CbJXUotR(&xRIcX&WGtT;gq2=y#Rm~_L>H6q#W;8U3d7sGJ4ni?Czs51# z2NfZAT?+rW1>HU8MrW!M#d%v6Dy~F9ciSrI(WO9S{pjtOxq1`QyNBJF6_kdI$4xE! z43^M4*K+QCm5u!44u4qryD9P_A9qa(AXHGocIZ6}YpGASK^6Gn%WKIlP&(RIT5?LEWchu+ zZfY=e7n~X^ z9pAR%8w;n~(X&5-z9Vu_^^+!)EQyNPHD@&Rr90fBT3e7k<>EQ}Q}s{|D6AV5R|94E zw)^YcGohckAYa}YhytqK`__>s$ZeO*nPXvq{NsjqJ0>Kc-1BmaeRB#lht^D7t!{*( z@%e*@f;*^KeahqPv5U~f&e)``^FuMUGEKAA1-ew__2D7&q5AVy&-=SCBV(CitB=oo zD9=md?cEzu=zF<7bzB}aoypRGA7YVRTg0f%c$9e8>F; zD2_P?-^}#GnOJ9O%6G0%mu7QMTsNS2MAMA#9R@>h!QC#6+6YzkGM7}aUrkwoGN;!$!jj8SxBaz! z@l`hVd7Y}96V`zW_O~^&I6I;B6`a$Yn1>=q57wd6%b;_4xn}O4-N>qG=S0hgApP3L zs+81~IN5wNJnF`1=)%=iDUD*NXKxrcmwg*Kp~s!OUQGn!=?YwXiSl%PXw2rxD45=S zsFRlmMa1?>W}GD|Sc{yJ#m&%N39J&A-9WLootnF4KlDe3`CPp?5~_!;`!nPpLrGnI zcq#c9GROUNe%B;YuVlb5kLk;xK0S|r;K?7zb?*pbA2!Gc6c_7|D8EREv{X4erA$Lr3$g^MvFucg$qcycCJG;J8`?(V| z-a|ry+TF2tPon*$2kbthtF@R;AU(Br9JMqBZ5YXBW8B=!{vB^Q2@*c1kHkQd%`wZ^ z8D%~tpPrr`S>IYb5iK>>Vwu~fELIf5H+N_IL3I7J_W@zhvvQM(G<&A z&^V+IB^X2CPB5DwgdmDQNRULZn;@-M$g+p5JE-0<+$=hjFNiaa>-;y9x;VbiwpA=G w6_{dnZ{oerc>PxFKV0J<4XRhecrB|Qljc7)B?&^Asm2@p4U;z$U6T+1038n&tN;K2 literal 0 HcmV?d00001 diff --git a/figures/Figure2.pdf b/figures/Figure2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7c69607511f52a23d4e8635b6efee12a970eee3d GIT binary patch literal 39206 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
6lmbUEN3(=@ocs)qsiQr?D= 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 literal 0 HcmV?d00001 diff --git a/figures/Figure3.pdf b/figures/Figure3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..30df739d8d312544d61c3a1604cde1669d1c0fe7 GIT binary patch literal 23195 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
MB3D{>K?_68Km=OmBTCPjdPe3 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 literal 0 HcmV?d00001 diff --git a/figures/FigureS6.pdf b/figures/FigureS6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e5986b55398c5a62d6089c952c2276f32221ea0c GIT binary patch literal 14275 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 HDg*jIoNvUi literal 0 HcmV?d00001