1 The Corpus

The maps and analyses in this section are based on a corpus of 79,040 studies in the published scientific literature. The corpus is shared between chapter 3 and 4 of the values assessment. For more information about the corpus see IPBES VA Chapter 3. Systematic review on Method Families (https://doi.org/10.5281/zenodo.4404436) and IPBES VA Chapter 4. Systematic review on valuation uptake (https://doi.org/10.5281/zenodo.4391335).

The designations employed and the presentation of material on the maps shown here do not imply the expression of any opinion whatsoever on the part of the IPBES concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

2 Georeferencing the Corpus

To identify country names in the corpus of literature a two step approach was used. First, we wanted to understand where studies were conducted and searched the title, abstract, and keywords of each paper for country names. Second, to understand where the funding organizations were located we searched the affiliations, acknowledgments, and funding text for country names.

The input data we used are the following:

The python code used to georeference the corpus can be found here. An overview of the pipeline is provided in the following schematic and described below.

knitr::include_graphics("pilot2.svg")
Overview of the process of Georeferencing the corpus of valuation studies

Overview of the process of Georeferencing the corpus of valuation studies

Step 1: Extract country names from text Country names were extracted from the title, abstract, and keywords of each paper with a regular expression and the associated ISO code was added into a a column in the dataset. The same regular expression was also used to search the affiliations, acknowledgments, and funding text of the same paper and placed into a second column.

Step 2 and 3: Bundle countries in regions and subregions The IPBES Regions and Subregions datatset was then used to add additional region and subregion attributes to the dataset by matching the ISO3 code.

Step 4: Find TS accordingly We used a set of files to add additional attributes to the dataset that identified the topics. The set of files contained identifying information for papers derived from sets of web of science searches targeting particular topics. This identifying information was then matched to the corpus, and the topic extracted. For more details on topic identification please see chapter 4 systematic review on valuation uptake (https://doi.org/10.5281/zenodo.4391335).

Finally, the complete corpus with the added attributes of country ISO codes of both funding organizations and research locations, and topic identification were used as the basis of the rest of the research project. The complete corpus can be found on Zenodo here: [https://doi.org/[INSERT](https://doi.org/%5BINSERT DOI]

3 Valuation Maps

The complete georeferenced valuation corpus was used to understand the location of valuation studies throughout the world and the location of the organizations conducting those studies.

We counted the number of times a country or territory was listed in the corpus from the column of country or territory names obtained from the title, abstract, and keywords search as a proxy for the density of valuation studies.

Separately, we counted the number of times a country or territory was listed in the corpus from the column of country or territory names obtained from the affiliations acknowledgments, and funding text as a proxy for the density of organizations.

data <- readxl::read_excel("Data/IPBES_VA_Uptake_Corpus_06May20_GEONames_TS_16June20.xlsx", sheet = 1)
n <- nrow(data)

t <- data %>% 
  mutate(x = strsplit(as.character(CountryName_TI_AB_DE_ID), ", ")) %>%
  unnest(x) %>% 
  count(x, sort = TRUE)

studies_na <- t %>% 
  filter(is.na(x)) 

t_names2 <- data %>% 
  mutate(x = strsplit(as.character(CountryName_CI_FU_FX), ", ")) %>%
  unnest(x) %>% 
  count(x, sort = TRUE)

names2_na <- t_names2 %>% 
  filter(is.na(x)) 

cat("Out of", n,"total studies,", studies_na$n, "studies did not identify a country or territory within their title, abstract, or keywords. ", "While", names2_na$n, "studies did not identify a country within their affiliations, acknowledgments, and funding text.")

Out of 79040 total studies, 30259 studies did not identify a country or territory within their title, abstract, or keywords. While 345 studies did not identify a country within their affiliations, acknowledgments, and funding text.

3.1 Geographic Distribution

We will now present the results from the analysis through a series of maps showing both the raw country or territory results and summarized by IPBES regions and subregions. No data is always displayed in grey. The darker green values represent a higher density of studies, while the darker blue values represent a higher density of organizations.

# Declare Functions
countFunction <- function(data, x) {
  data %>% 
    mutate(x = strsplit(as.character(x), ", ")) %>% 
    unnest(x) %>% 
    count(x, sort = TRUE) %>% 
    drop_na() %>% 
    mutate(n_log = log(n))
}

# Necessary datasets for the upcoming maps 
harmonized_data <- read.csv("Outputs/Corpus/harmonized_data.csv")
indicators <- read.csv("Outputs/indicators_compiled.csv")
column_names <- readxl::read_excel("Data/names_of_columns.xlsx")
countries <- read_sf("Data/gadm36_levels_shp/gadm36_0.shp") %>% 
  rename(ISO_Alpha_3 = GID_0)

# Combine and project data
colnames(indicators)[2:25] <- column_names$Short_Name

df <- left_join(harmonized_data, indicators, by = "ISO_Alpha_3")
df <- left_join(countries, df, by = "ISO_Alpha_3") 

# Project data 
robin_crs <- "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m"
poly <- st_transform(df, robin_crs)


# Load Shapefiles for updated borders
grey_areas <- read_sf("Data/Data_Final/grey_areas.shp") # area grey, no outlines
grey_areas <- st_transform(st_wrap_dateline(grey_areas), robin_crs)

solid_borders <- read_sf("Data/Data_Final/solid_borders.shp") # solid lines, color X
solid_borders <- st_transform(st_wrap_dateline(solid_borders), robin_crs)

dashed_borders <- read_sf("Data/Data_Final/dashed_borders.shp") # dashed lines, color X
dashed_borders <- st_transform(st_wrap_dateline(dashed_borders), robin_crs)

dotted_borders <- read_sf("Data/Data_Final/dotted_borders.shp") # dotted lines, color X
dotted_borders <- st_transform(st_wrap_dateline(dotted_borders), robin_crs)

major_lakes <- read_sf("Data/Data_Final/Major_Lakes.shp") # dotted lines, color X
major_lakes <- st_transform(st_wrap_dateline(major_lakes), robin_crs)

3.1.1 Density of studies

All

# Preparing Data 

# all
percentage_VS_all <- st_drop_geometry(df) %>% 
  select(NAME_0, ISO_Alpha_3, Names1, Names2) %>% 
  mutate(Names1_percent = (Names1/sum(df$Names1, na.rm = T))) %>% 
  mutate(Names2_percent = (Names2/sum(df$Names2, na.rm = T))) %>% 
  arrange(desc(Names1_percent))

# Before 2010
## Create dataset 
corpus_b2010 <- data %>% 
  filter(PY < 2010)

n1 <- corpus_b2010 %>% 
  countFunction(x = corpus_b2010$CountryName_TI_AB_DE_ID) %>% 
  rename("ISO_Alpha_3" = x, "Names1" = n, "Names1_log" = n_log)

n2 <- corpus_b2010 %>% 
  countFunction(x = corpus_b2010$CountryName_CI_FU_FX) %>% 
  rename("ISO_Alpha_3" = x, "Names2" = n, "Names2_log" = n_log)

df_b2010 <- full_join(n1, n2, by = "ISO_Alpha_3")

df_b2010_t <- left_join(countries, df_b2010, by = "ISO_Alpha_3") 

## Project data 
robin_crs <- "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m"
poly_b2010 <- st_transform(df_b2010_t, robin_crs)

percentage_VS_b2010 <- st_drop_geometry(df_b2010_t) %>% 
  select(NAME_0, ISO_Alpha_3, Names1, Names2) %>% 
  mutate(Names1_percent = (Names1/sum(df_b2010_t$Names1, na.rm = T))) %>% 
  mutate(Names2_percent = (Names2/sum(df_b2010_t$Names2, na.rm = T))) %>% 
  arrange(desc(Names1_percent))

# After 2010

data_2010 <- read.csv("Outputs/Corpus_2010/harmonized_data.csv")
df_2010 <- left_join(countries, data_2010, by = "ISO_Alpha_3") 

robin_crs <- "+proj=robin +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m"
poly_2010 <- st_transform(df_2010, robin_crs)

percentage_VS_a2010 <- st_drop_geometry(df_2010) %>% 
  select(NAME_0, ISO_Alpha_3, Names1, Names2) %>% 
  mutate(Names1_percent = (Names1/sum(df_2010$Names1, na.rm = T))) %>% 
  mutate(Names2_percent = (Names2/sum(df_2010$Names2, na.rm = T))) %>% 
  arrange(desc(Names1_percent))

# For plots
grid <- st_graticule(lat = seq(-90, 90, by = 30), # the graticules 
                     lon = seq(-180, 180, by = 60)) %>% 
  st_transform("+proj=robin +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m") %>% 
  st_geometry 

Showcases the number of valuation studies conducted within each country or territory for the entire dataset. Please note that the scales are not consistent between maps.

china_b2010 <- percentage_VS_b2010 %>% filter(NAME_0 == "China")
china_a2010 <- percentage_VS_a2010 %>% filter(NAME_0 == "China")

cat("There were", 
    sum(t$n) - studies_na$n,
    "identifications of a country or territory from the title, abstract, or keywords, consisting of",
    nrow(t) - nrow(studies_na),
    "countries or territories identified.\n\n",
    "\nThe United States has disproportionately higher valuation studies than other countries.", " In descending order,", 
    paste(percentage_VS_all$NAME_0[1]), 
    paste("(",round(percentage_VS_all$Names1_percent[1]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_all$NAME_0[2]), 
    paste("(",round(percentage_VS_all$Names1_percent[2]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_all$NAME_0[3]), 
    paste("(",round(percentage_VS_all$Names1_percent[3]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_all$NAME_0[4]), 
    paste("(",round(percentage_VS_all$Names1_percent[4]*100, 2), "%) and", sep = ""), 
    paste(percentage_VS_all$NAME_0[5]), 
    paste("(",round(percentage_VS_all$Names1_percent[5]*100, 2), "%)", sep = ""),
    "have the highest valuation studies in total and for studies post 2010.\n\n",
    "\nThere was a large relative increase of valuation studies conducted in China before 2010 and after 2010. Before 2010, China comprised of",
    paste0(round(china_b2010[,5]*100, 2),"%"), 
    "of the valuation studies, but after 2010 China comprised",
    paste0(round(china_a2010[,5]*100, 2),"%"), 
    "of the valuation studies."
    )

There were 64688 identifications of a country or territory from the title, abstract, or keywords, consisting of 217 countries or territories identified.

The United States has disproportionately higher valuation studies than other countries. In descending order, United States (10.96%), China (6.66%), Australia (5.36%), Brazil (4.66%) and India (3.74%) have the highest valuation studies in total and for studies post 2010.

There was a large relative increase of valuation studies conducted in China before 2010 and after 2010. Before 2010, China comprised of 2.8% of the valuation studies, but after 2010 China comprised 8.04% of the valuation studies.

plot1 <- ggplot(poly) + # Names 1 all studies 
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names1), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_colour_manual(values = NA) +              
  guides(colour = guide_legend("No data", override.aes = list(colour = "grey", fill = "grey")))+
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom") +
  scale_fill_gradient(
    low = "#F7FCB9",
    high = "#006837",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Studies") 

# Names 1 Log
plot1_log <- ggplot(poly) + # Names 2 log all studies
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names1_log), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#F7FCB9",
    high = "#006837",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) + 
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Studies (log)") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

plot_grid(plot1, plot1_log, labels = "auto", ncol = 1)

The designations employed and the presentation of material on the maps shown here do not imply the expression of any opinion whatsoever on the part of the IPBES concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

Before 2010

Showcases the number of valuation studies conducted within each country or territory in the dataset before 2010. Please note that the scales are not consistent between maps.

cat("Before 2010, the countries with the highest valuation studies conducted were the", 
    paste(percentage_VS_b2010$NAME_0[1]), 
    paste("(",round(percentage_VS_b2010$Names1_percent[1]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_b2010$NAME_0[2]), 
    paste("(",round(percentage_VS_b2010$Names1_percent[2]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_b2010$NAME_0[3]), 
    paste("(",round(percentage_VS_b2010$Names1_percent[3]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_b2010$NAME_0[4]), 
    paste("(",round(percentage_VS_b2010$Names1_percent[4]*100, 2), "%) and", sep = ""), 
    paste(percentage_VS_b2010$NAME_0[5]), 
    paste("(",round(percentage_VS_b2010$Names1_percent[5]*100, 2), "%).", sep = "")
    )

Before 2010, the countries with the highest valuation studies conducted were the United States (12.21%), Australia (6.37%), United Kingdom (5.17%), India (3.61%) and Canada (3.32%).

# Plotting Names 1 
plotC <- ggplot(poly_b2010) + # Names 1 all studies before 2010
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names1), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_colour_manual(values = NA) +              
  guides(colour = guide_legend("No data", override.aes = list(colour = "grey", fill = "grey")))+
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom") +
  scale_fill_gradient(
    low = "#F7FCB9",
    high = "#006837",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Studies") 

# Plotting Names 1 log 
plotC_log <- ggplot(poly_b2010) + # Names 2 log all studies before 2010
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names1_log), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#F7FCB9",
    high = "#006837",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Studies (log)") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

plot_grid(plotC, plotC_log, labels = "auto", ncol = 1)

The designations employed and the presentation of material on the maps shown here do not imply the expression of any opinion whatsoever on the part of the IPBES concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

After 2010

Showcases the number of valuation studies conducted within each country or territory in the dataset from 2010. Please note that the scales are not consistent between maps.

cat("In descending order, the", 
    paste(percentage_VS_a2010$NAME_0[1]), 
    paste("(",round(percentage_VS_a2010$Names1_percent[1]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_a2010$NAME_0[2]), 
    paste("(",round(percentage_VS_a2010$Names1_percent[2]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_a2010$NAME_0[3]), 
    paste("(",round(percentage_VS_a2010$Names1_percent[3]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_a2010$NAME_0[4]), 
    paste("(",round(percentage_VS_a2010$Names1_percent[4]*100, 2), "%) and", sep = ""), 
    paste(percentage_VS_a2010$NAME_0[5]), 
    paste("(",round(percentage_VS_a2010$Names1_percent[5]*100, 2), "%)", sep = ""),
    "have the highest valuation studies in total and for studies post 2010."
    )

In descending order, the United States (10.49%), China (8.04%), Brazil (5.18%), Australia (5.01%) and India (3.8%) have the highest valuation studies in total and for studies post 2010.

# Plotting Names 1 
plotA <- ggplot(poly_2010) + # Names 1 all studies 
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names1), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_colour_manual(values = NA) +              
  guides(colour = guide_legend("No data", override.aes = list(colour = "grey", fill = "grey")))+
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom") +
  scale_fill_gradient(
    low = "#F7FCB9",
    high = "#006837",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Studies") 

# Plotting Names 1 log 
plotA_log <- ggplot(poly_2010) + # Names 2 log all studies
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names1_log), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#F7FCB9",
    high = "#006837",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Studies (log)") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

ggsave(file = "Outputs/Figures/Density_of_studies_after_2010_log.pdf", plot = plotA_log, width = 7, height = 5)
ggsave(file = "Outputs/Figures/Density_of_studies_after_2010_log.png", plot = plotA_log, width = 7, height = 5, dpi = 600)
plot_grid(plotA, plotA_log, labels = "auto", ncol = 1)

The designations employed and the presentation of material on the maps shown here do not imply the expression of any opinion whatsoever on the part of the IPBES concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

3.1.2 Density of organizations

All

Showcases the number of studies which reference the particular country within the affiliations, acknowledgments, or funding text for the entire dataset as a proxy for organizations which are conducing the research. Please note that the scales are not consistent between maps.

percentage_VS_all <- percentage_VS_all %>% 
  arrange(desc(Names2_percent))

cat("There were", 
    sum(t_names2$n) - names2_na$n,
    "identifications of a country or territory from the affiliations, acknowledgments, or funding text, consisting of",
    nrow(t_names2) - nrow(names2_na),
    "countries or territories.\n\n",
    "\nThe United States and the United Kingdom (UK) have disproportionately higher density of organizations than other countries. In descending order, the",
    paste(percentage_VS_all$NAME_0[1]), 
    paste("(",round(percentage_VS_all$Names2_percent[1]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_all$NAME_0[2]), 
    paste("(",round(percentage_VS_all$Names2_percent[2]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_all$NAME_0[3]), 
    paste("(",round(percentage_VS_all$Names2_percent[3]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_all$NAME_0[4]), 
    paste("(",round(percentage_VS_all$Names2_percent[4]*100, 2), "%) and", sep = ""), 
    paste(percentage_VS_all$NAME_0[5]), 
    paste("(",round(percentage_VS_all$Names2_percent[5]*100, 2), "%)", sep = ""),
    "have the highest density of organizations."
    )

There were 140188 identifications of a country or territory from the affiliations, acknowledgments, or funding text, consisting of 210 countries or territories.

The United States and the United Kingdom (UK) have disproportionately higher density of organizations than other countries. In descending order, the United States (17.89%), United Kingdom (7.36%), Germany (5.19%), Australia (4.9%) and China (4.64%) have the highest density of organizations.

plot2 <- ggplot(poly) + # Names 2 all studies
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names2), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08519C",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Organizations") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

# Names 2 Log
plot2_log <- ggplot(poly) + # Names 2 log all studies
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names2_log), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08519C",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Organizations (log)") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

plot_grid(plot2, plot2_log, labels = "auto", ncol = 1)

The designations employed and the presentation of material on the maps shown here do not imply the expression of any opinion whatsoever on the part of the IPBES concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

Before 2010

Showcases the number of studies which reference the particular country within the affiliations, acknowledgments, or funding text for the studies in the dataset before 2010 as a proxy for organizations which are conducing the research in this time period. Please note that the scales are not consistent between maps.

percentage_VS_b2010 <- percentage_VS_b2010 %>% 
  arrange(desc(Names2_percent))

cat("Before 2010, in descending order, the",
    paste(percentage_VS_b2010$NAME_0[1]), 
    paste("(",round(percentage_VS_b2010$Names2_percent[1]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_b2010$NAME_0[2]), 
    paste("(",round(percentage_VS_b2010$Names2_percent[2]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_b2010$NAME_0[3]), 
    paste("(",round(percentage_VS_b2010$Names2_percent[3]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_b2010$NAME_0[4]), 
    paste("(",round(percentage_VS_b2010$Names2_percent[4]*100, 2), "%) and", sep = ""), 
    paste(percentage_VS_b2010$NAME_0[5]), 
    paste("(",round(percentage_VS_b2010$Names2_percent[5]*100, 2), "%)", sep = ""),
    "have the highest density of organizations."
    )

Before 2010, in descending order, the United States (25.28%), United Kingdom (9.52%), Canada (5.23%), Australia (5.03%) and Germany (4.83%) have the highest density of organizations.

# Plotting Names 2 
plotD <- ggplot(poly_b2010) + # Names 2 all studies before 2010
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names2), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08519C",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Organizations") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

# Plotting Names 2 log
plotD_log <- ggplot(poly_b2010) + # Names 2 log all studies before 2010
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names2_log), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08519C",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Organizations (log)") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

plot_grid(plotD, plotD_log, labels = "auto", ncol = 1)

The designations employed and the presentation of material on the maps shown here do not imply the expression of any opinion whatsoever on the part of the IPBES concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

After 2010

Showcases the number of studies which reference the particular country or territory within the affiliations, acknowledgments, or funding text for the studies in the dataset from 2010 as a proxy for organizations which are conducing the research in this time period. Please note that the scales are not consistent between maps.

percentage_VS_a2010 <- percentage_VS_a2010 %>% 
  arrange(desc(Names2_percent))

cat("After 2010, in descending order, the",
    paste(percentage_VS_a2010$NAME_0[1]), 
    paste("(",round(percentage_VS_a2010$Names2_percent[1]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_a2010$NAME_0[2]), 
    paste("(",round(percentage_VS_a2010$Names2_percent[2]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_a2010$NAME_0[3]), 
    paste("(",round(percentage_VS_a2010$Names2_percent[3]*100, 2), "%),", sep = ""), 
    paste(percentage_VS_a2010$NAME_0[4]), 
    paste("(",round(percentage_VS_a2010$Names2_percent[4]*100, 2), "%) and", sep = ""), 
    paste(percentage_VS_a2010$NAME_0[5]), 
    paste("(",round(percentage_VS_a2010$Names2_percent[5]*100, 2), "%)", sep = ""),
    "have the highest density of organizations."
    )

After 2010, in descending order, the United States (15.81%), United Kingdom (6.75%), China (5.39%), Germany (5.29%) and Australia (4.87%) have the highest density of organizations.

plotB <- ggplot(poly_2010) + # Names 2 all studies
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names2), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08519C",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Organizations") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

# Plotting Names 2 log
plotB_log <- ggplot(poly_2010) + # Names 2 log all studies
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names2_log), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08519C",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 5, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Organizations (log)") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

plot_grid(plotB, plotB_log, labels = "auto", ncol = 1)

The designations employed and the presentation of material on the maps shown here do not imply the expression of any opinion whatsoever on the part of the IPBES concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

3.1.3 Summarized by region

Europe and Central Asia region has the highest density of organizations, but comes in third for the highest density of studies. In contrast, the Americas region comes in first for the highest density of studies and second for organizations.

Besides Antarctica, Africa has the lowest density of studies and organizations.

Density of studies

# Load needed data 
#regions <- st_read("Data/ipbes_regions_subregions/IPBES_regions_Subregions2.shp") %>% 
#  st_wrap_dateline() %>% 
#  st_transform(robin_crs)

# Dissolve data by ipbes region
#data_region <- regions %>% # this dissolves the data by region
#  mutate(n = 1) %>% 
#  dplyr::group_by(Region) %>% 
#  dplyr::summarise(count_n = sum(n)) %>% 
#  sf::st_cast() 
#st_write(data_region, "Data/ipbes_regions_subregions/region.shp", append = FALSE)

data_region <- st_read("Data/ipbes_regions_subregions/region.shp", quiet = T) 

# Count number of times per region (NAMES 1)
names1_region_counts <- data %>% 
  mutate(x = strsplit(as.character(Region_TI_AB_DE_ID), ", ")) %>% 
  unnest(x) %>% 
  count(x, sort = TRUE) %>% 
  rename("Region" = "x")

n1_region_poly <- left_join(data_region, names1_region_counts, by = "Region") 
n1_region_poly$n <- as.factor(n1_region_poly$n)

ggplot(n1_region_poly) + 
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = n), colour = "gray40") +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_manual(values = c("#F7FCB9", "#ADDD8E", "#41AB5D", "#006837", "grey")) +
  # geom_sf(data = grey_areas, fill = "grey", colour = NA) +
  geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Studies") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

region1_counts_s <- data %>% 
  mutate(x = strsplit(as.character(Region_TI_AB_DE_ID), ", ")) %>%
  unnest(x) %>% 
  count(x, sort = TRUE)

region1_na_s <- region1_counts_s %>% 
  filter(is.na(x)) 

cat("* ",region1_na_s$n, "studies did not have a region identified for the density of studies.")
  • 30428 studies did not have a region identified for the density of studies.

Density of organizations

names2_region_counts <- data %>%
  mutate(x = strsplit(as.character(Region_CI_FU_FX), ", ")) %>% 
  unnest(x) %>% 
  count(x, sort = TRUE) %>% 
  rename("Region" = "x")

n2_region_poly <- left_join(data_region, names2_region_counts, by = "Region") 
n2_region_poly$n <- as.factor(n2_region_poly$n)

ggplot(n2_region_poly) + 
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = n), colour = "gray40") +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_manual(values = c("#DEEBF7", "#9ECAE1", "#4292C6", "#08519C", "grey")) +
  # geom_sf(data = grey_areas, fill = "grey", colour = NA) +
  geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Organizations") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

region1_counts_i <- data %>% 
  mutate(x = strsplit(as.character(Region_CI_FU_FX), ", ")) %>%
  unnest(x) %>% 
  count(x, sort = TRUE)

region1_na_i <- region1_counts_i %>% 
  filter(is.na(x)) 

cat("* ",region1_na_i$n, "studies did not have a region identified for the density of studies.")
  • 345 studies did not have a region identified for the density of studies.

3.1.4 Summarized by subregion

Europe and North America disproportionately have the highest density of studies and organizations between subregions, while Central Asia have the lowest density for both categories.

Density of studies

##### Prepare data by subregion #####  
# Dissolve data by ipbes subregion
#data_subregion <- regions %>% # this dissolves the data by subregion
#  mutate(n = 1) %>% 
#  dplyr::group_by(Sub_Region) %>% 
#  dplyr::summarise(count_n = sum(n)) %>% 
#  sf::st_cast()
#st_write(data_subregion, "Data/ipbes_regions_subregions/subregion.shp", append = FALSE)
data_subregion <- st_read("Data/ipbes_regions_subregions/subregion.shp", quiet = T)

# Count number of times per sub region (NAMES 1)
names1_subregion_counts <- data %>% 
  mutate(x = strsplit(as.character(Subregion_TI_AB_DE_ID), ", ")) %>% 
  unnest(x) %>% 
  count(x, sort = TRUE) %>% 
  rename("Sub_Region" = "x")

fix <- names1_subregion_counts %>% # Within the data western and central europe are separated, I added them together to match the regions within the polygon data
  filter(Sub_Region == "Western Europe" | Sub_Region == "Central Europe") 
fix <- sum(fix$n)

names1_subregion_counts <- names1_subregion_counts %>% 
  add_row(tibble_row(Sub_Region = "Central and Western Europe", n = fix))

# final join
n1_subregion_poly <- left_join(data_subregion, names1_subregion_counts, by = "Sub_Region") 

n1_subregion_poly_plot <- ggplot(n1_subregion_poly) + 
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = n), colour = "gray40") +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#F7FCB9",
    high = "#006837",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 4, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
  # geom_sf(data = grey_areas, fill = "grey", colour = NA) +
  geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Studies") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

n1_subregion_poly_plot

ggsave(file = "Outputs/Figures/Density_of_studies_subregion.pdf", plot = n1_subregion_poly_plot, width = 7, height = 5)
subregion1_counts_s <- data %>% 
  mutate(x = strsplit(as.character(Subregion_TI_AB_DE_ID), ", ")) %>%
  unnest(x) %>% 
  count(x, sort = TRUE)

subregion1_na_s <- subregion1_counts_s %>% 
  filter(is.na(x)) 

cat("* ",subregion1_na_s$n, "studies did not have a subregion identified for the density of studies.")
  • 30428 studies did not have a subregion identified for the density of studies.

Density of organizations

# Count number of times per subregion (NAMES 2)
names2_subregion_counts <- data %>%
  mutate(x = strsplit(as.character(Subregion_CI_FU_FX), ", ")) %>% 
  unnest(x) %>% 
  count(x, sort = TRUE) %>% 
  rename("Sub_Region" = "x")

# Within the data western and central europe are separated, I added them together to match the regions within the polygon data
fix <- names2_subregion_counts %>% 
  filter(Sub_Region == "Western Europe" | Sub_Region == "Central Europe")
fix <- sum(fix$n)

names2_subregion_counts <- names2_subregion_counts %>% 
  add_row(tibble_row(Sub_Region = "Central and Western Europe", n = fix))

# final join
n2_subregion_poly <- left_join(data_subregion, names2_subregion_counts, by = "Sub_Region") 

ggplot(n2_subregion_poly) + 
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = n), colour = "gray40") +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08519C",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 4, 
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
  # geom_sf(data = grey_areas, fill = "grey", colour = NA) +
  geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Density of Organizations") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

subregion1_counts_i <- data %>% 
  mutate(x = strsplit(as.character(Subregion_CI_FU_FX), ", ")) %>%
  unnest(x) %>% 
  count(x, sort = TRUE)

subregion1_na_i <- subregion1_counts_i %>% 
  filter(is.na(x)) 

cat("* ",subregion1_na_i$n, "studies did not have a region identified for the density of studies.")
  • 345 studies did not have a region identified for the density of studies.

3.2 Relationships between density of studies and organizations

OECD member countries and middle-income countries broadly had relatively more studies in their countries relative to research and funding affiliations; also Greenland, the Antarctic, some Latin American and Asian, most African countries had relatively more research and funding affiliations compared to the number of studies in their countries. Countries mostly in the southern hemisphere had a disproportionate number of researchers engaged in ecosystem services/NCP assessment studies, relative to the number of studies carried out in their country, in comparison to Northern hemisphere countries. Because these are ratios, it is better to consider them in the light of country/population size. From a Southern-country perspective, this could indicate: (i) high frequency of collaboration outside their own countries of researchers from countries in the South, and (ii) underfunding of domestic valuation studies in countries of the South relative to the number of domestic researchers and funding agencies. From the perspective of countries in the North this could indicate (i) relatively limited research collaboration outside their country for researchers from the North, and (ii) well-funded ecosystem services/NCP research relative to number of researchers and funding affiliations. From both these perspectives the narrative is of a relative export of ecosystem services/NCP research capacity from Southern countries to other countries. The data may also simply show a relative deficit of ecosystem services/NCP study applications in the South relative to the North. No data was found on cross-border flows of funding or researchers to make any further interpretation. This is a potential knowledge gap. More analysis is needed on whether there are patterns in relation to ecosystem assessment method families, and whether the patterns have changed over time. There are many exceptions to the broad global pattern which merit country-specific studies of the institutional context of ecosystem assessment to identify barriers and successful leverage points.

plot_1and2_ratio <- ggplot(poly) + # Names 2 log all studies
  geom_sf(data = grid, 
          colour = "gray60",
          linetype = "dashed") +
  geom_sf(aes(fill = Names1/Names2), colour = NA) +
  annotate("text", x = -18000000, y = 0, label = "0°", size = 3) +
  annotate("text", x = -18000000, y = 3200000, label = "30°N", size = 3) +
  annotate("text", x = -15500000, y = 6200000, label = "60°N", size = 3) +
  annotate("text", x = -18000000, y = -3200000, label = "30°S", size = 3) +
  annotate("text", x = -15500000, y = -6200000, label = "60°S", size = 3) +
  annotate("text", x = 0, y = 9500000, label = "0°", size = 3) +
  annotate("text", x = -3000000, y = 9500000, label = "60°W", size = 3) +
  annotate("text", x = 3000000, y = 9500000, label = "60°E", size = 3) +
  annotate("text", x = -8000000, y = 9500000, label = "180°W", size = 3) +
  annotate("text", x = 8000000, y = 9500000, label = "180°E", size = 3) +
  scale_fill_gradient(
    low = "#F7FCB9",
    high = "#FB8C00",
    space = "Lab",
    na.value = "grey",
    aesthetics = "fill",
    n.breaks = 6, 
    breaks = c(1,3,5,7,9,11),
    guide = guide_colorbar(title.position = "top",
                           title.hjust = .5,
                           barwidth = 10, 
                           barheight = 0.5
    )) +
    geom_sf(data = grey_areas, fill = "grey", colour = NA) +
    geom_sf(data = solid_borders, fill= NA, colour = "gray40")+
    geom_sf(data = dashed_borders, fill = NA, colour = "gray40", linetype = "dashed") +
    geom_sf(data = dotted_borders, fill = NA, colour = "gray40", linetype = "dotted") +
    geom_sf(data = major_lakes, fill = "white", colour = "gray40") +
  labs(fill = "Ratio of studies and organizations") +
  theme(panel.background = element_blank(), 
        axis.text.x = element_text(size = 12),
        axis.title = element_blank(),
        legend.position = "bottom")

plot_1and2_ratio

The designations employed and the presentation of material on the maps shown here do not imply the expression of any opinion whatsoever on the part of the IPBES concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries.

It is clear that there is a significant positive linear relationship between the density of studies and organizations. It is important to note that there were many more identified countries for organizations than location of studies.

harmonized_data %>% 
  ggplot(aes(x = Names1, y = Names2)) +
  geom_point() +
  labs(x = "Density of Studies", y = "Density of Organizations") +
  geom_smooth(method = "lm") +
  ggpmisc::stat_fit_glance(method = 'lm',
                           color = "red3",
                           mapping = aes(label = sprintf('r^2~"="~%.3f~~italic(P)~"="~%.2g',
                                                         after_stat(r.squared), after_stat(p.value))),
                           parse = TRUE, 
                           label.x = "right", label.y = "bottom") +
  theme_bw() 
Density of studies vs density of organizations

Density of studies vs density of organizations

4 Indicator Analysis

The IPBES Core Indicators were used alongside a chosen set of other relevant indicators to understand geographic trends between density of valuation studies and how they relate to biological and socioeconomic indicators.

4.1 Selection of Indicators

We used all of the IPBES Core Indicators available within the country dataset except for two indicators, Countries/Regions with Active NBSAP and Category 1 nations in CTIES, as these are binary in the dataset and would not be compatible with the following analysis. We selected a specific category from the indicators with multiple categories and the most recent year available within the dataset. For example, for the indicator “Area of forest production under FSC and PEFC certification” we chose the FSC certification area and not the PEFC certification area for 2016.

A set of other indicators were included in the analysis to expand the coverage of socioeconomic variables. We included the human development index (HDI), average harmonized learning outcomes score, gross domestic product (GDP), corruption perception index (CPI), and population.

These datasets were downloaded, cleaned, and had ISO3 codes added to easily merge them into the analysis. The latest data available was used for each indicator.

Here is the table of all of the indicators used, the category selected, the year the data is from, and the number assigned to them.

Table 1: Details of the Indicators Used
Name Category Year
Forest Area Under FSC and PEFC Certification FSC_area 2016
Biodiversity Habitat Index Average 2014
Biodiversity Intactness Index Value 2005
Biocapacity Per Capita Value - Total 2012
Ecological Footprint Per Capita Value - Total 2012
Forest Area Forest area (1000ha) 2015
Water Footprint Water Footprint - Total (Mm3/y) 2013
Inland Fishery Production Capture 2015
Region-based Marine Trophic Index 1950 2014
Nitrogen + Phosphate Fertilizers N total nutrients - Consumption in nutrients 2014
Percent Nitrogen Use Efficiency Nitrogen Use Efficiency (%) 2009
Percentage and Total Area Covered by Protected Areas Terrestrial - Protected Area (%) 2017
Percentage of Undernourished People Prevalence of undernourishment (%) (3-year average) 2015
Proportion of Local Breeds Classified as Being At Risk, Not-at-risk or Unknown Level of Risk of Extinction At Risk of Extinction 2016
Percentage of Key Biodiverisy Areas Protected Estimate 2016
Protected Area Management Effectiveness PA Assessed on Management Effectiveness (%) 2015
Protected Area Connectedness Index Protected Area Connectedness Index 2012
Species Habitat Index Species Habitat Index 2014
Species Protection Index (%) Species Protection Index (%) 2014
Species Status Information Index Value 2014
Total Wood Removals (roundwood, m3) Total 2014
Trends in Forest Extent (Tree Cover) Percentage of Tree Cover Loss 2015
Nitrogen Deposition Trends (kg N/ha/yr) Nitrogen Deposition Trends (kg N/ha/yr) 2030
Trends in Pesticides Use Use of pesticides (3-year average) 2013
Human Development Index NA 2018
Average Harmonized Learning Outcomes Score NA 2015
Gross Domestic Product (GDP) NA 2019
Corruption Perception Index NA 2020
Population NA 2018

There were a few instances of duplicated values which were double checked with the original dataset and the erroneous value removed. Examples include having two values for USA due to the separation of Hawaii in the original dataset. In these cases Hawaii was removed and the value referring to the rest of the states of the country was used instead. Additionally, Indicator 9, Region-based Marine Trophic Index, the mean of the regions was calculated per country, as countries such as Germany have multiple regions with distinct values.

4.2 Dataset Compilation

To understand how valuation is spread across geographies, we counted the number of times each country’s or territories’ ISO code appeared in the corpus for both geography columns added in step 2. The result is the density of studies per country or territory and the density of funding organizations per country or territory for the entire corpus.

The external indicators were also joined onto the dataset to analyze the relationships between these socioeconomic indicators and the density of studies and funding organizations.

This process was also repeated with an additional filter that excluded any studies published before 2010.

4.3 Pearson Correlation Analysis

To investigate the relationships between indicators and the number of valuation studies, we ran a pearson correlation analysis. The statistical analysis calculated the trends between the number of studies in each country or territory (Density of studies) and the number of studies funded in each country or territory (Density of organizations) and each of the indicators. The results are shown below.

Insignificant relationships are blank, significant relationships (P < 0.01) are shown with circles. The strength of the correlation corresponds to the size of the circle and the color represents positive (blue) or negative (red) trends.

Description of results

There is a very strong positive relationship between GDP and the density of both studies and organizations. GDP per capita does not exhibit the same strong correlation.

Density of studies is also strongly positively correlated to total wood removals, trends in pesticide use, population, nitrogen fertilizers, and water footprint index.

Density of organizations is also strongly positively correlated with total wood removals, and nitrogen fertilizers.

While most significant relationships are positive, there are two negative relationships present. Biodiversity intactness index is negatively correlated with both the density of studies and organizations, and protected area management effectiveness is slightly negative correlated with the density of organizations.

#### Load Packages ####
library(corrplot)
library(Hmisc)
library(readxl)

#### Load Data ####
corpus <- read.csv("Outputs/Corpus/harmonized_data.csv") %>% 
  mutate(GDP_per_capita = GDP_2019/Pop_2018) %>% 
  select(-Names1_log, -Names2_log)

corpus_2010 <- read.csv("Outputs/Corpus_2010/harmonized_data.csv") %>% 
  select(ISO_Alpha_3, Names1, Names2)

indicators <- read.csv("Outputs/Indicators_compiled.csv")
column_names <- read_excel("Data/names_of_columns.xlsx")

#### Clean and Join Data together ####
colnames(indicators) <- c("ISO_Alpha_3", column_names$Short_Name)
colnames(corpus_2010)[2:3] <- paste(colnames(corpus)[2:3], "> 2010")

df <- full_join(corpus_2010, corpus, by = "ISO_Alpha_3")
df <- full_join(df, indicators, by = "ISO_Alpha_3")

df$remove <- df %>% select(`Names1 > 2010`:Names2) %>% rowSums(na.rm=TRUE) # removing rows where there is no Names1 information

df <- df %>% 
  filter(df$remove != 0) %>% 
  select(-remove, -ISO_Alpha_3) %>% 
  select(Names1, `Names1 > 2010`, Names2, `Names2 > 2010`, hdi_2018:`Trends in Pesticides Use`) %>% 
  rename("Density of ES/NCP study location" = "Names1",
         "Density of ES/NCP study location post 2010" = "Names1 > 2010",
         "Density of research organization location" = "Names2",
         "Density of research organization location post 2010" = "Names2 > 2010",
         "Human Development Index" = "hdi_2018",
         "Learning Outcomes" = "Learning_outcomes_2015",
         "Gross Domestic Product" = "GDP_2019", 
         "Corruption Perception Index" = "CPI_2020",
         "Population" = "Pop_2018",
         "Gross Domestic Prodct Per Capita" = "GDP_per_capita",
         "Forest Area Under FSC Cetrification" = "Forest Area under FSC certification",
         "Biocapacity Per Capita" = "Biocapacity per capita",
         "Forest Area" = "Forest area",
         "Region-based Marine Trophic Index" = "Marine Trophic Index (1950)",
         "Percent Nitrogen Use Efficiency" = "Nitrogen Use Efficiency (%)",
         "Percentage Protected" = "Percentage protected",
         "Percentage of Undernourished People" = "Percentage of undernourished people",
         "Local Breeds at Risk of Extinction" = "Local Breeds at risk of extinction",
         "Percentage of Key Biodiversity Areas Protected" = "PA of Key Biodiversity Areas Coverage (%)",
         "Protected Area Management Effectiveness" = "Protected area management effectiveness",
         "Species Protection Index" = "Species Protection Index (%)",
         "Trends in Forest Extent" = "Trends in forest extent")
#### Correlation Analysis ####
# calculate correlations 
res1 <- rcorr(as.matrix(df), type = "pearson") # Only linear relationships 

#### Formatting Data and Export ####

# Selecting the correlation coefficients 
data_r <- res1$r %>% 
  as.data.frame() %>% 
  select(1:4)

data_r <- data_r[-c(1:4), ]

# Selecting the significance levels 
data_p <- res1$P %>% 
  as.data.frame() %>% 
  select(1:4)

data_p <- data_p[-c(1:4), ]

# Selecting the number of observations that went into the calculation 
data_n <- res1$n %>% 
  as.data.frame() %>% 
  select(1:4)

data_n <- data_n[-c(1:4), ]

# plot rectangular correlation plot
scalebluered <- colorRampPalette(c("#67001F", "#B2182B", "#D6604D", 
      "#F4A582", "#FDDBC7", "#FFFFFF", "#D1E5F0", "#92C5DE", 
      "#4393C3", "#2166AC", "#053061"))(200)

corrplot(as.matrix(data_r), is.corr = TRUE, cl.pos = 'n', tl.col="black", tl.srt = 45, 
         p.mat = as.matrix(data_p), sig.level = 0.01, insig = "blank") # Insignificant correlation are blank

colorlegend(scalebluered , c(seq(-1,1,len = 11)), align = 'l', vertical = TRUE, addlabels = TRUE, xlim=c(12,14), ylim=c(5,26))

text(c(12.5),c(28),labels="Legend", font = 2, cex = 1.1)
Pearson correlations of geographic valuation studies and indicators

Pearson correlations of geographic valuation studies and indicators

The same pearson correlation analysis with the indicators was conducted on the log of the number of studies in each country or territory and the log of the number of studies funded from each country.

Description of results

Generally, the log density of studies and organizations show stronger and more correlations with the indicators. Within the log relationship, the protected area management effectiveness becomes significantly negatively correlated with both the density of studies and organizations. The biodiversity intactness index also follows the same pattern.

For the log density of studies compared to the non-transformed density of studies, GDP becomes less strongly correlated, local breeds at risk of extinction becomes positively correlated, protected area connectedness index becomes strongly positively correlated, species protection index becomes positively correlated, as well as trends in forest extent, and nitrogen deposition trends.

For the log density of organizations compared to the non-transformed density of organizations, the human development index, average harmonized learning outcomes, corruption perception index, population, and local breeds at risk of extinction all become more strongly positively correlated, while the GDP becomes slightly less positively correlated. Additionally, the percentage of undernourished people becomes negatively correlated with the log density of studies, the species protection index and the species status information index become positively correlated, and finally the relationship to trends in pesticide use is no longer significant.

For both the log density of studies and organizations, the protected area connected index becomes strongly positively corrrelated.

#### Load Data ####
corpus <- read.csv("Outputs/Corpus/harmonized_data.csv") %>% 
  mutate(GDP_per_capita = GDP_2019/Pop_2018) %>% 
  select(-Names1, -Names2)

corpus_2010 <- read.csv("Outputs/Corpus_2010/harmonized_data.csv") %>% 
  select(ISO_Alpha_3, Names1_log, Names2_log)

indicators <- read.csv("Outputs/Indicators_compiled.csv")
column_names <- read_excel("Data/names_of_columns.xlsx")

#### Clean and Join Data together ####
colnames(indicators) <- c("ISO_Alpha_3", column_names$Short_Name)
colnames(corpus_2010)[2:3] <- paste(colnames(corpus)[2:3], "> 2010")

df <- full_join(corpus_2010, corpus, by = "ISO_Alpha_3")
df <- full_join(df, indicators, by = "ISO_Alpha_3")

df$remove <- df %>% select(`Names1_log > 2010`:Names2_log) %>% rowSums(na.rm=TRUE) # removing rows where there is no Names1 information
df <- df %>% 
  filter(df$remove != 0) %>% 
  select(-remove, -ISO_Alpha_3) %>% 
  select(Names1_log, `Names1_log > 2010`, Names2_log, `Names2_log > 2010`, hdi_2018:`Trends in Pesticides Use`) %>% 
  rename("Log density of ES/NCP study location" = "Names1_log",
         "Log density of ES/NCP study location post 2010" = "Names1_log > 2010",
         "Log density of research organization location" = "Names2_log",
         "Log density of research organization location post 2010" = "Names2_log > 2010",
         "Human Development Index" = "hdi_2018",
         "Learning Outcomes" = "Learning_outcomes_2015",
         "Gross Domestic Product" = "GDP_2019", 
         "Corruption Perception Index" = "CPI_2020",
         "Population" = "Pop_2018",
         "Gross Domestic Prodct Per Capita" = "GDP_per_capita",
         "Forest Area Under FSC Cetrification" = "Forest Area under FSC certification",
         "Biocapacity Per Capita" = "Biocapacity per capita",
         "Forest Area" = "Forest area",
         "Region-based Marine Trophic Index" = "Marine Trophic Index (1950)",
         "Percent Nitrogen Use Efficiency" = "Nitrogen Use Efficiency (%)",
         "Percentage Protected" = "Percentage protected",
         "Percentage of Undernourished People" = "Percentage of undernourished people",
         "Local Breeds at Risk of Extinction" = "Local Breeds at risk of extinction",
         "Percentage of Key Biodiversity Areas Protected" = "PA of Key Biodiversity Areas Coverage (%)",
         "Protected Area Management Effectiveness" = "Protected area management effectiveness",
         "Species Protection Index" = "Species Protection Index (%)",
         "Trends in Forest Extent" = "Trends in forest extent")
 #### Correlation Analysis ####
# calculate correlations 
res1 <- rcorr(as.matrix(df), type = "pearson") # Only linear relationships 

#### Formatting Data and Export ####

# Selecting the correlation coefficients 
data_r <- res1$r %>% 
  as.data.frame() %>% 
  select(1:4)

data_r <- data_r[-c(1:4), ]

# Selecting the significance levels 
data_p <- res1$P %>% 
  as.data.frame() %>% 
  select(1:4)

data_p <- data_p[-c(1:4), ]

# Selecting the number of observations that went into the calculation 
data_n <- res1$n %>% 
  as.data.frame() %>% 
  select(1:4)

data_n <- data_n[-c(1:4), ]

# plot rectangular correlation plot
scalebluered <- colorRampPalette(c("#67001F", "#B2182B", "#D6604D", 
      "#F4A582", "#FDDBC7", "#FFFFFF", "#D1E5F0", "#92C5DE", 
      "#4393C3", "#2166AC", "#053061"))(200)

corrplot(as.matrix(data_r), is.corr = TRUE, cl.pos = 'n', tl.col="black", tl.srt = 45, 
         p.mat = as.matrix(data_p), sig.level = 0.01, insig = "blank") # Insignificant correlation are blank

colorlegend(scalebluered , c(seq(-1,1,len = 11)), align = 'l', vertical = TRUE, addlabels = TRUE, xlim=c(12,14), ylim=c(5,26))

text(c(12.5),c(28),labels="Legend", font = 2, cex = 1.1)
Pearson correlations of geographic valuation studies and indicators

Pearson correlations of geographic valuation studies and indicators

4.4 Individual Trend Analysis

The individual trends between each indicator, and the number of studies and number of funding organizations are shown here for the entire corpus. For each indicator, there are two four panel figures with the top figure showing the trends with the raw values, and the bottom figure displaying the trends with log transformed x-axis values.

The dots represent countries within the dataset that have values for both the indicator and valuation atlas. The associated p value of the linear trend model is shown in the corner of the image in red. The trend line is shown in blue and the associated standard error in grey. Please note that the y axis is not necessarily consistent between the four boxes and may include values that aren’t actually found in the data to showcase the full extent of the standard error of the trend line.

There are some broad narratives emerge from this analysis:

  • Fewer studies are being carried out in countries with extreme poverty.

  • More ecosystem service/NCP assessment studies are being carried out where biodiversity and environmental degradation is higher and protection lower.

  • More studies are being carried out where natural capital is the highest and the conservation discourse is more advanced.

Some contradictions between these single variable narratives exist, such as more ecosystem services/NCP assessments carried out in countries with a lower protected area effectiveness index, and in countries with a higher species protection index, while these are significantly negatively correlated across countries. There is a knowledge gap and no robust understanding can be concluded on this.

For each figure the panels are arranged as follows:

  • Density of studies (top-left) is the number of valuation studies for each country or territory in the corpus

  • Density of studies from 2010 (top-right) is the number of valuation studies for each country or territory in the corpus from 2010 to 2020

  • Density of organizations (bottom-left) is the number of valuation studies funded from each country or territory in the corpus

  • Density of organizations from 2010 (bottom-right) is the number of valuation studies funded from each country or territory in the corpus from 2010 to 2020

# Prepare data 
# Corpus 
harmonized_data <- read.csv("Outputs/Corpus/harmonized_data.csv")    # full corpus
harmonized_data_2010 <- read.csv("Outputs/Corpus_2010/harmonized_data.csv") %>%  # corpus from 2010
  select(ISO_Alpha_3, Names1, Names1_log, Names2, Names2_log) 

# indicators 
column_names <- read_excel("Data/names_of_columns.xlsx")
indicators <- read.csv("Outputs/Indicators_compiled.csv")

# Fix column names 
colnames(indicators) <- c("ISO_Alpha_3", column_names$Short_Name) # add names to columns 
colnames(harmonized_data_2010)[2:5] <- paste(colnames(harmonized_data_2010)[2:5], "> 2010")

#### Combine Data ####
all_data <- full_join(harmonized_data, harmonized_data_2010, by = "ISO_Alpha_3") %>% 
  select(ISO_Alpha_3:Names2_log, `Names1 > 2010`:`Names2_log > 2010`, hdi_2018:Pop_2018)

all_data <- full_join(all_data, indicators, by = "ISO_Alpha_3")
  

# Plot Functions
#### Plot Function ####
Plot_function <- function(plot_data, yvar, yname) {
  plot1 <- plot_data %>% 
    ggplot(aes(x = Names1, y = yvar)) +
    geom_point() +
    labs(x = "Density of Studies", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "bottom") +
    theme_bw()
  
  plot2 <- plot_data %>% 
    ggplot(aes(x = `Names1 > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Density of Studies from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "bottom") +
    theme_bw()
  
  plot3 <- plot_data %>% 
    ggplot(aes(x = Names2, y = yvar)) +
    geom_point() +
    labs(x = "Density of Organizations", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "bottom") +
    theme_bw()
  
  
  plot4 <- plot_data %>% 
    ggplot(aes(x = `Names2 > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Density of Organizations from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "bottom") +
    theme_bw()
  
  
  
  
  plot_all <- plot_grid(plot1, plot2, plot3, plot4)
  return(plot_all)
  
}

Plot_function_topright <- function(plot_data, yvar, yname) {
  plot1 <- plot_data %>% 
    ggplot(aes(x = Names1, y = yvar)) +
    geom_point() +
    labs(x = "Density of Studies", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "top") +
    theme_bw()
  
  plot2 <- plot_data %>% 
    ggplot(aes(x = `Names1 > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Density of Studies from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "top") +
    theme_bw()
  
  plot3 <- plot_data %>% 
    ggplot(aes(x = Names2, y = yvar)) +
    geom_point() +
    labs(x = "Density of Organizations", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "top") +
    theme_bw()
  
  
  plot4 <- plot_data %>% 
    ggplot(aes(x = `Names2 > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Density of Organizations from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "top") +
    theme_bw()
  
  
  
  
  plot_all <- plot_grid(plot1, plot2, plot3, plot4)
  return(plot_all)
  
}

Plot_function_log <- function(plot_data, yvar, yname) {
  plot1 <- plot_data %>% 
    ggplot(aes(x = Names1_log, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Studies", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "left", label.y = "top") +
    theme_bw()
  
  plot2 <- plot_data %>% 
    ggplot(aes(x = `Names1_log > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Studies from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "left", label.y = "top") +
    theme_bw()
  
  plot3 <- plot_data %>% 
    ggplot(aes(x = Names2_log, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Organizations", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "left", label.y = "top") +
    theme_bw()
  
  
  plot4 <- plot_data %>% 
    ggplot(aes(x = `Names2_log > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Organizations from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "left", label.y = "top") +
    theme_bw()
  
  
  
  
  plot_all <- plot_grid(plot1, plot2, plot3, plot4)
  return(plot_all)
  
} 

Plot_function_log_topright <- function(plot_data, yvar, yname) {
  plot1 <- plot_data %>% 
    ggplot(aes(x = Names1_log, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Studies", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "top") +
    theme_bw()
  
  plot2 <- plot_data %>% 
    ggplot(aes(x = `Names1_log > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Studies from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "top") +
    theme_bw()
  
  plot3 <- plot_data %>% 
    ggplot(aes(x = Names2_log, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Organizations", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "top") +
    theme_bw()
  
  
  plot4 <- plot_data %>% 
    ggplot(aes(x = `Names2_log > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Organizations from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "top") +
    theme_bw()
  
  
  
  
  plot_all <- plot_grid(plot1, plot2, plot3, plot4)
  return(plot_all)
  
}

Plot_function_log_bottomright <- function(plot_data, yvar, yname) {
  plot1 <- plot_data %>% 
    ggplot(aes(x = Names1_log, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Studies", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "bottom") +
    theme_bw()
  
  plot2 <- plot_data %>% 
    ggplot(aes(x = `Names1_log > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Studies from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "bottom") +
    theme_bw()
  
  plot3 <- plot_data %>% 
    ggplot(aes(x = Names2_log, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Organizations", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "bottom") +
    theme_bw()
  
  
  plot4 <- plot_data %>% 
    ggplot(aes(x = `Names2_log > 2010`, y = yvar)) +
    geom_point() +
    labs(x = "Log Density of Organizations from 2010", y = yname) +
    geom_smooth(method = "lm") +
    ggpmisc::stat_fit_glance(method = 'lm',
                             color = "red3",
                             aes(label = paste("P-value = ", signif(..p.value.., digits = 3), sep = "")),
                             label.x = "right", label.y = "bottom") +
    theme_bw()
  
  
  
  
  plot_all <- plot_grid(plot1, plot2, plot3, plot4)
  return(plot_all)
  
}

Human Development Index

Plot_function(all_data, all_data$hdi_2018, "Human Development Index (2018)")
Relationships between density of valuation studies and associated organizations, and the human development index

Relationships between density of valuation studies and associated organizations, and the human development index

Log relationship graphs:

Plot_function_log_bottomright(all_data, all_data$hdi_2018, "Human Development Index (2018)")
Log relationships between density of valuation studies and associated organizations, and the human development index

Log relationships between density of valuation studies and associated organizations, and the human development index

Average Harmonized Learning Outcomes Score

Plot_function(all_data, all_data$Learning_outcomes_2015, "Learning Oucomes (2015)")
Relationships between density of valuation studies and associated organizations, and learning outcomes

Relationships between density of valuation studies and associated organizations, and learning outcomes

Log relationship graphs:

Plot_function_log(all_data, all_data$Learning_outcomes_2015, "Learning Oucomes (2015)")
Log relationships between density of valuation studies and associated organizations, and learning outcomes

Log relationships between density of valuation studies and associated organizations, and learning outcomes

GDP

Plot_function(all_data, all_data$GDP_2019, "GDP (2019)")
Relationships between density of valuation studies and associated organizations, and GDP

Relationships between density of valuation studies and associated organizations, and GDP

Log relationship graphs:

Plot_function_log(all_data, all_data$GDP_2019, "GDP (2019)")
Log relationships between density of valuation studies and associated organizations, and GDP

Log relationships between density of valuation studies and associated organizations, and GDP

Corruption Perception Index

Plot_function(all_data, all_data$CPI_2020, "Corruption Perception Index (2020)")
Relationships between density of valuation studies and associated organizations, and the corruption perception index

Relationships between density of valuation studies and associated organizations, and the corruption perception index

Log relationship graphs:

Plot_function_log(all_data, all_data$CPI_2020, "Corruption Perception Index (2020)")
Log relationships between density of valuation studies and associated organizations, and the corruption perception index

Log relationships between density of valuation studies and associated organizations, and the corruption perception index

Population

Plot_function(all_data, all_data$Pop_2018, "Population in Millions (2018)")
Relationships between density of valuation studies and associated organizations, and population

Relationships between density of valuation studies and associated organizations, and population

Log relationship graphs:

Plot_function_log(all_data, all_data$Pop_2018, "Population in Millions (2018)")
Log relationships between density of valuation studies and associated organizations, and population

Log relationships between density of valuation studies and associated organizations, and population

GDP per capita

d <- all_data %>% 
  mutate(GDP_per_capita = GDP_2019/Pop_2018) 

Plot_function_topright(d, d$GDP_per_capita, "GDP per Capita")
Relationships between density of valuation studies and associated organizations, and GDP per capita

Relationships between density of valuation studies and associated organizations, and GDP per capita

Log relationship graphs:

Plot_function_log_topright(d, d$GDP_per_capita, "GDP per Capita")
Log relationships between density of valuation studies and associated organizations, and GDP per capita

Log relationships between density of valuation studies and associated organizations, and GDP per capita

Forest Area Under FSC Certification

Plot_function(all_data, all_data$`Forest Area under FSC certification`, "Forest area under FSC certification")
Relationships between density of valuation studies and associated organizations, and forest area under FSC certification

Relationships between density of valuation studies and associated organizations, and forest area under FSC certification

Log relationship graphs:

Plot_function_log(all_data, all_data$`Forest Area under FSC certification`, "Forest area under FSC certification")
Log relationships between density of valuation studies and associated organizations, and forest area under FSC certification

Log relationships between density of valuation studies and associated organizations, and forest area under FSC certification

Biodiversity Habitat Index

Plot_function_topright(all_data, all_data$`Biodiversity Habitat Index`, "Biodiversity Habitat Index")
Relationships between density of valuation studies and associated organizations, and the biodiversity habitat index

Relationships between density of valuation studies and associated organizations, and the biodiversity habitat index

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`Biodiversity Habitat Index`, "Biodiversity Habitat Index")
Log relationships between density of valuation studies and associated organizations, and the biodiversity habitat index

Log relationships between density of valuation studies and associated organizations, and the biodiversity habitat index

Biodiversity Intactness Index

Plot_function_topright(all_data, all_data$`Biodiversity Intactness Index`, "Biodiversity Intactness Index")
Relationships between density of valuation studies and associated organizations, and the biodiversity intactness index

Relationships between density of valuation studies and associated organizations, and the biodiversity intactness index

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`Biodiversity Intactness Index`, "Biodiversity Intactness Index")
Log relationships between density of valuation studies and associated organizations, and the biodiversity intactness index

Log relationships between density of valuation studies and associated organizations, and the biodiversity intactness index

Biocapacity Per Capita

Plot_function_topright(all_data, all_data$`Biocapacity per capita`, "Biocapacity per Capita")
Relationships between density of valuation studies and associated organizations, and the biocapacity per capita

Relationships between density of valuation studies and associated organizations, and the biocapacity per capita

Log relationship graphs:

Plot_function_log(all_data, all_data$`Biocapacity per capita`, "Biocapacity per Capita")
Log relationships between density of valuation studies and associated organizations, and the biocapacity per capita

Log relationships between density of valuation studies and associated organizations, and the biocapacity per capita

Ecological Footprint Per Capita

Plot_function(all_data, all_data$`Ecological Footprint per capita`, "Ecological Footprint per Capita")
Relationships between density of valuation studies and associated organizations, and the ecological footprint per capita

Relationships between density of valuation studies and associated organizations, and the ecological footprint per capita

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`Ecological Footprint per capita`, "Ecological Footprint per Capita")
Log relationships between density of valuation studies and associated organizations, and the ecological footprint per capita

Log relationships between density of valuation studies and associated organizations, and the ecological footprint per capita

Forest Area

Plot_function(all_data, all_data$`Forest area`, "Forest Area")
Relationships between density of valuation studies and associated organizations, and forest area

Relationships between density of valuation studies and associated organizations, and forest area

Log relationship graphs:

Plot_function_log(all_data, all_data$`Forest area`, "Forest Area")
Log relationships between density of valuation studies and associated organizations, and forest area

Log relationships between density of valuation studies and associated organizations, and forest area

Water Footprint

Plot_function(all_data, all_data$`Water Footprint`, "Water Footprint")
Relationships between density of valuation studies and associated organizations, and the water footprint

Relationships between density of valuation studies and associated organizations, and the water footprint

Log relationship graphs:

Plot_function_log(all_data, all_data$`Water Footprint`, "Water Footprint")
Log relationships between density of valuation studies and associated organizations, and the water footprint

Log relationships between density of valuation studies and associated organizations, and the water footprint

Inland Fishery Production

Plot_function(all_data, all_data$`Inland Fishery Production`, "Inland Fishery Production")
Relationships between density of valuation studies and associated organizations, and inland fishery production

Relationships between density of valuation studies and associated organizations, and inland fishery production

Log relationship graphs:

Plot_function_log(all_data, all_data$`Inland Fishery Production`, "Inland Fishery Production")
Log relationships between density of valuation studies and associated organizations, and inland fishery production

Log relationships between density of valuation studies and associated organizations, and inland fishery production

Region-based Marine Trophic Index

Plot_function(all_data, all_data$`Marine Trophic Index (1950)`, "Marine Trophic Index in reference to 1950")
Relationships between density of valuation studies and associated organizations, and the region-based marine trophic index

Relationships between density of valuation studies and associated organizations, and the region-based marine trophic index

Log relationship graphs:

Plot_function_log_bottomright(all_data, all_data$`Marine Trophic Index (1950)`, "Marine Trophic Index in reference to 1950")
Log relationships between density of valuation studies and associated organizations, and the region-based marine trophic index

Log relationships between density of valuation studies and associated organizations, and the region-based marine trophic index

Nitrogen Fertilizers

Plot_function(all_data, all_data$`Nitrogen Fertilizers`, "Nitrogen Fertilizers")
Relationships between density of valuation studies and associated organizations, and nitrogen fertization

Relationships between density of valuation studies and associated organizations, and nitrogen fertization

Log relationship graphs:

Plot_function_log(all_data, all_data$`Nitrogen Fertilizers`, "Nitrogen Fertilizers")
Log relationships between density of valuation studies and associated organizations, and nitrogen fertization

Log relationships between density of valuation studies and associated organizations, and nitrogen fertization

Percent Nitrogen Use Efficiency

Plot_function(all_data, all_data$`Nitrogen Use Efficiency (%)`, "Nitrogen Use Efficiency (%)")
Relationships between density of valuation studies and associated organizations, and nitrogen use efficiency

Relationships between density of valuation studies and associated organizations, and nitrogen use efficiency

Log relationship graphs:

Plot_function_log(all_data, all_data$`Nitrogen Use Efficiency (%)`, "Nitrogen Use Efficiency (%)")
Log relationships between density of valuation studies and associated organizations, and nitrogen use efficiency

Log relationships between density of valuation studies and associated organizations, and nitrogen use efficiency

Percentage of Area Covered by Protected Areas

Plot_function_topright(all_data, all_data$`Percentage protected`, "Percentage of Area Covered by PAs")
Relationships between density of valuation studies and associated organizations, and percentage of area covered by protected areas

Relationships between density of valuation studies and associated organizations, and percentage of area covered by protected areas

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`Percentage protected`, "Percentage of Area Covered by PAs")
Log relationships between density of valuation studies and associated organizations, and percentage of area covered by protected areas

Log relationships between density of valuation studies and associated organizations, and percentage of area covered by protected areas

Percentage of Undernourished People

Plot_function_topright(all_data, all_data$`Percentage of undernourished people`, "Percentage of Undernourished People")
Relationships between density of valuation studies and associated organizations, and percentage of undernourished people

Relationships between density of valuation studies and associated organizations, and percentage of undernourished people

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`Percentage of undernourished people`, "Percentage of Undernourished People") 
Log relationships between density of valuation studies and associated organizations, and percentage of undernourished people

Log relationships between density of valuation studies and associated organizations, and percentage of undernourished people

Local Breeds at Risk of Extinction

Plot_function_topright(all_data, all_data$`Local Breeds at risk of extinction`, "Local Breeds At Risk of Extinction")
Relationships between density of valuation studies and associated organizations, and local breeds at risk of extinction

Relationships between density of valuation studies and associated organizations, and local breeds at risk of extinction

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`Local Breeds at risk of extinction`, "Local Breeds At Risk of Extinction")
Log relationships between density of valuation studies and associated organizations, and local breeds at risk of extinction

Log relationships between density of valuation studies and associated organizations, and local breeds at risk of extinction

Percentage of Key Biodiversity Areas Protected

Plot_function_topright(all_data, all_data$`PA of Key Biodiversity Areas Coverage (%)`, "Percentage of KBA covered by PAs")
Relationships between density of valuation studies and associated organizations, and PA of key biodiverisy area coverage

Relationships between density of valuation studies and associated organizations, and PA of key biodiverisy area coverage

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`PA of Key Biodiversity Areas Coverage (%)`, "Percentage of KBA covered by PAs")
Log relationships between density of valuation studies and associated organizations, and PA of key biodiverisy area coverage

Log relationships between density of valuation studies and associated organizations, and PA of key biodiverisy area coverage

Protected Area Management Effectiveness

Plot_function_topright(all_data, all_data$`Protected area management effectiveness`, "PA Assessed on Management Effectiveness (%)")
Relationships between density of valuation studies and associated organizations, and protected area management effectiveness

Relationships between density of valuation studies and associated organizations, and protected area management effectiveness

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`Protected area management effectiveness`, "PA Assessed on Management Effectiveness (%)")
Log relationships between density of valuation studies and associated organizations, and protected area management effectiveness

Log relationships between density of valuation studies and associated organizations, and protected area management effectiveness

Protected Area Connectedness Index

Plot_function(all_data, all_data$`Protected Area Connectedness Index`, "PA Connectedness Index")
Relationships between density of valuation studies and associated organizations, and the protected area connectedness index

Relationships between density of valuation studies and associated organizations, and the protected area connectedness index

Log relationship graphs:

Plot_function_log(all_data, all_data$`Protected Area Connectedness Index`, "PA Connectedness Index")
Log relationships between density of valuation studies and associated organizations, and the protected area connectedness index

Log relationships between density of valuation studies and associated organizations, and the protected area connectedness index

Species Habitat Index

Plot_function(all_data, all_data$`Species Habitat Index`, "Species Habitat Index")
Relationships between density of valuation studies and associated organizations, and the species habitat index

Relationships between density of valuation studies and associated organizations, and the species habitat index

Log relationship graphs:

Plot_function_log_bottomright(all_data, all_data$`Species Habitat Index`, "Species Habitat Index")
Log relationships between density of valuation studies and associated organizations, and the species habitat index

Log relationships between density of valuation studies and associated organizations, and the species habitat index

Species Protection Index

Plot_function(all_data, all_data$`Species Protection Index (%)`, "Species Protection Index (%)")
Relationships between density of valuation studies and associated organizations, and the species protection index

Relationships between density of valuation studies and associated organizations, and the species protection index

Log relationship graphs:

Plot_function_log_bottomright(all_data, all_data$`Species Protection Index (%)`, "Species Protection Index (%)")
Log relationships between density of valuation studies and associated organizations, and the species protection index

Log relationships between density of valuation studies and associated organizations, and the species protection index

Species Status Information Index

Plot_function_topright(all_data, all_data$`Species Status Information Index`, "Species Status Information Index")
Relationships between density of valuation studies and associated organizations, and the species status information index

Relationships between density of valuation studies and associated organizations, and the species status information index

Log relationship graphs:

Plot_function_log_topright(all_data, all_data$`Species Status Information Index`, "Species Status Information Index")
Log relationships between density of valuation studies and associated organizations, and the species status information index

Log relationships between density of valuation studies and associated organizations, and the species status information index

Total Wood Removals

Plot_function(all_data, all_data$`Total Wood Removals`, "Total wood removals (roundwood, m3")
Relationships between density of valuation studies and associated organizations, and total wood removals

Relationships between density of valuation studies and associated organizations, and total wood removals

Log relationship graphs:

Plot_function_log(all_data, all_data$`Total Wood Removals`, "Total wood removals (roundwood, m3")
Log relationships between density of valuation studies and associated organizations, and total wood removals

Log relationships between density of valuation studies and associated organizations, and total wood removals

5 References

Datasets

Altinok, N., N. Angrist and H.A. Patrinos. 2018. “Global data set on education quality (1965-2015).” World Bank Policy Research Working Paper No. 8314. Washington, DC. https://ourworldindata.org/grapher/learning-outcomes-vs-gdp-per-capita

Corruption Perception Index (2020) by Transparency International is licensed under CC-BY-ND 4.0 https://www.transparency.org/en/cpi/2020/index/

FAO. FAOSTAT. Annual Population. Latest update: 16/12/2019. (Accessed 24/03/2021). http://www.fao.org/faostat/en/#data/OA

FAO. FAOSTAT. Macro Indicators: Gross Domestic Product - Values US$. Latest update: 27/04/2021. (Accessed 02/09/2021). http://www.fao.org/faostat/en/#data/MK

Global Administrative Areas (version 3.6). University of California, Berkeley. Available online: https://gadm.org/

IPBES task force on knowledge and data (2020) IPBES Core Indicators - Harmonized Dataset, technical support unit on knowledge and data, Frankfurt, Germany. DOI: 10.5281/zenodo.4439411

IPBES Technical Support Unit on Knowledge and Data. (2020). IPBES regions and sub-regions (1.1) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.3928281

ISO 3166-1:2020, Codes for the representation of names of countries and their subdivisions — Part 1: Country codes

United Nations Development Programme. Human Development Reports. Human Development Index (HDI). (Accessed 24/03/2021). http://hdr.undp.org/en/indicators/137506#

R packages

Claus O. Wilke (2019). cowplot: Streamlined Plot Theme and Plot Annotations for ‘ggplot2’. R package version 1.0.0. https://CRAN.R-project.org/package=cowplot

Frank E Harrell, et al. (2020). Hmisc: Harrell Miscellaneous. R package version 4.4-1. https://CRAN.R-project.org/package=Hmisc

Hadley Wickham and Jennifer Bryan (2019). readxl: Read Excel Files. R package version 1.3.1. https://CRAN.R-project.org/package=readxl

Michael C. J. Kao, Markus Gesmann and Filippo Gheri (2020). FAOSTAT: Download Data from the FAOSTAT Database. R package version 2.2.1. https://CRAN.R-project.org/package=FAOSTAT

Pebesma, E., 2018. Simple Features for R: Standardized Support for Spatial Vector Data. The R Journal 10 (1), 439-446, https://doi.org/10.32614/RJ-2018-009

Wei T, Simko V (2021). R package ‘corrplot’: Visualization of a Correlation Matrix. (Version 0.90), https://github.com/taiyun/corrplot.

Wickham et al., (2019). Welcome to the tidyverse. Journal of Open Source Software, 4(43), 1686, https://doi.org/10.21105/joss.01686