О проекте

О данных: сайт “Торговая База данных CITES”.

Статья: Глобальная торговля дикими животными пронизывает Дерево Жизни.

Документ: Категории и критерии Красного списка МСОП (Версия 3.1).

Цели и задачи

Выявить темпы/объёмы торговли дикими животными семейств Elephantidae, Rhinocerotidae.

План действий:

  • провести выборку стран-участниц (покупающие/продающие) графики;

  • отследить годы, когда оборот был больше всего;

  • составить линейную модель по датам.

library(tidyverse)
library(tibble)
library(ggplot2)
library(plotly)
library(countrycode)
library(ggalluvial)
load("wild.trade.RData")
eT<-res%>%filter(Family=="Elephantidae")
rT<-res%>%filter(Family=="Rhinocerotidae")

Для создания данной работы были выбраны семейства Rhinocerotidae и Elephantidae, вернее, их ныне существующие представители. Однако, наличие их в живом виде – не повод считать, что принятые меры по сохранению были достаточно успешны. Они лишь были приняты не совсем поздно. Об этом свидетельствуют охранные статусы рассматриваемых нами животных:

Саванный слон – EN (Вымирающие виды);

Лесной слон – CR (Находящиеся на грани полного исчезновения);

Азиатский слон - EN (Вымирающие виды);

Индийский носорог – VU (Находятся в уязвимом положении (уязвимые виды));

Белый носорог – NT (Близкие к уязвимому положению);

Чёрный носорог - CR (Находящиеся на грани полного исчезновения);

Суматранский носорог - CR (Находящиеся на грани полного исчезновения).

В экономической деятельности людей, касающейся биоразнообразия планеты, особое место занимает торговля дикими животными. В ней есть несколько категорий товаров, для слонов их 52, а для носорогов - 37, количество пересекающихся категорий товаров в торговле двумя выбранными таксонами диких животных: 32.

В данной работе мы рассматриваем только торговлю дикими живыми животными.

el<-res%>%filter(Family=="Elephantidae")%>%filter(Term=="live")
rh<-res%>%filter(Family=="Rhinocerotidae")%>%filter(Term=="live")

Представим наши данные одной из таблиц

as_tibble(head(el))
## # A tibble: 6 x 8
##    Year Class    Order       Family       Term  Quantity Importer Exporter
##   <dbl> <chr>    <chr>       <chr>        <chr>    <dbl> <chr>    <chr>   
## 1  1979 Mammalia Proboscidea Elephantidae live         2 FI       GB      
## 2  1979 Mammalia Proboscidea Elephantidae live         3 FI       DE      
## 3  1979 Mammalia Proboscidea Elephantidae live         1 DK       CH      
## 4  1979 Mammalia Proboscidea Elephantidae live         1 US       DK      
## 5  1979 Mammalia Proboscidea Elephantidae live         1 NO       DK      
## 6  1979 Mammalia Proboscidea Elephantidae live         1 DE       DK

Заменим кодировку названий стран на полные названия

el$Exporter<-countrycode(el$Exporter,"ecb","country.name",warn = FALSE, nomatch = NULL)
el$Importer<-countrycode(el$Importer,"ecb","country.name",warn = FALSE, nomatch = NULL)
rh$Exporter<-countrycode(rh$Exporter,"ecb","country.name",warn = FALSE, nomatch = NULL)
rh$Importer<-countrycode(rh$Importer,"ecb","country.name",warn = FALSE, nomatch = NULL)

Таблица с измененной кодировкой

as_tibble(head(el))
## # A tibble: 6 x 8
##    Year Class    Order       Family       Term  Quantity Importer      Exporter 
##   <dbl> <chr>    <chr>       <chr>        <chr>    <dbl> <chr>         <chr>    
## 1  1979 Mammalia Proboscidea Elephantidae live         2 Finland       United K~
## 2  1979 Mammalia Proboscidea Elephantidae live         3 Finland       Germany  
## 3  1979 Mammalia Proboscidea Elephantidae live         1 Denmark       Switzerl~
## 4  1979 Mammalia Proboscidea Elephantidae live         1 United States Denmark  
## 5  1979 Mammalia Proboscidea Elephantidae live         1 Norway        Denmark  
## 6  1979 Mammalia Proboscidea Elephantidae live         1 Germany       Denmark

Выборка стран-участниц

Темпы продаж

Слоны

el.live.export<-el%>%group_by(Year,Exporter)%>%
  summarise(sumel=sum(Quantity))
el.live.export<-el.live.export%>%group_by(Exporter)%>%mutate(S2=sum(sumel))
el.live.export <- el.live.export %>%
  mutate(
    Exporter = case_when(
      S2 < 270 ~ "other countries*",
      .default = Exporter
    )
  )
el.live.export <- el.live.export %>% group_by(Year, Exporter) %>%
  summarise(sumel2=sum(sumel), .groups = "drop_last")
el.live.export <- mutate(group_by(el.live.export, Exporter), cumsum = cumsum(sumel2))
Pel.live.export <-  ggplot(el.live.export, aes(x = Year, y = cumsum, 
                 group = Exporter, colour = Exporter)) + 
  geom_line() + geom_point() + scale_y_log10()
plotly::ggplotly(Pel.live.export)
el.live.import<-el%>%group_by(Year,Importer)%>%
  summarise(sumel=sum(Quantity))
el.live.import<-el.live.import%>%group_by(Importer)%>%mutate(S2=sum(sumel))
el.live.import <- el.live.import %>%
  mutate(
    Importer = case_when(
      S2 < 265 ~ "other countries**",
      .default = Importer
    )
  )
el.live.import <- el.live.import %>% group_by(Year, Importer) %>%
  summarise(sumel2=sum(sumel), .groups = "drop_last")
el.live.import <- mutate(group_by(el.live.import, Importer), cumsum = cumsum(sumel2))
Pel.live.import <-  ggplot(el.live.import, aes(x = Year, y = cumsum, 
                 group = Importer, colour = Importer)) + 
  geom_line() + geom_point() + scale_y_log10()
plotly::ggplotly(Pel.live.import)

Примечания: * - стран-экспортеров в категории “другие страны” - 121; ** - стран-импортеров в категории “другие страны” - 127.

Носороги

rh.live.export<-rh%>%group_by(Year,Exporter)%>%
  summarise(sumrh=sum(Quantity))
rh.live.export<-rh.live.export%>%group_by(Exporter)%>%mutate(S2=sum(sumrh))
rh.live.export <- rh.live.export %>%
  mutate(
    Exporter = case_when(
      S2 < 61 ~ "other countries*",
      .default = Exporter
    )
  )
rh.live.export <- rh.live.export %>% group_by(Year, Exporter) %>%
  summarise(sumrh2=sum(sumrh), .groups = "drop_last")
rh.live.export <- mutate(group_by(rh.live.export, Exporter), cumsum = cumsum(sumrh2))
Prh.live.export <-  ggplot(rh.live.export, aes(x = Year, y = cumsum, 
                 group = Exporter, colour = Exporter)) + 
  geom_line() + geom_point() + scale_y_log10()
plotly::ggplotly(Prh.live.export)
rh.live.import<-rh%>%group_by(Year,Importer)%>%
  summarise(sumrh=sum(Quantity))
rh.live.import<-rh.live.import%>%group_by(Importer)%>%mutate(S2=sum(sumrh))
rh.live.import <- rh.live.import %>%
  mutate(
    Importer = case_when(
      S2 < 110 ~ "other countries**",
      .default = Importer
    )
  )
rh.live.import <- rh.live.import %>% group_by(Year, Importer) %>%
  summarise(sumrh2=sum(sumrh), .groups = "drop_last")
rh.live.import <- mutate(group_by(rh.live.import, Importer), cumsum = cumsum(sumrh2))
Prh.live.import <-  ggplot(rh.live.import, aes(x = Year, y = cumsum, 
                 group = Importer, colour = Importer)) + 
  geom_line() + geom_point()+scale_y_log10()
plotly::ggplotly(Prh.live.import)

Примечания: * - стран-экспортеров в категории “другие страны” - 49; ** - стран-импортеров в категории “другие страны” - 87.

Объемы продаж

Слоны

APel <- el %>% group_by(Exporter,Importer) %>% 
  summarise(s1=sum(Quantity))
APel <- APel %>% group_by(Exporter) %>% mutate(sE=sum(s1))
APel <- APel %>%
  mutate(
    Exporter = case_when(
      sE < 270 ~ "other countries*",
      .default = Exporter
    )
  )
APel <- APel %>% group_by(Importer) %>% mutate(sI=sum(s1))
APel <- APel %>%
  mutate(
    Importer = case_when(
      sI < 265 ~ "other countries**",
      .default = Importer
    )
  )
ggplot(as.data.frame(APel),
       aes(y = s1, axis1 = Exporter, axis2 = Importer)) +
  geom_alluvium(aes(fill = Exporter)) +
  geom_flow(curve_type = "quintic", alpha = 0.1) +
  geom_stratum(size = 0.05, alpha = 0.05) +
  
  geom_text(stat = "stratum",
            aes(label = after_stat(stratum)), size = 3) +
  ggtitle("Диаграмма перетоков торговли слонами за 47 лет") +
  scale_x_discrete(limits = c("Экспортеры", "Импортеры"),
                   expand = c(0.05, 0.05)) + labs(x = "Страны", y = "Количество особей", fill = "Экспортеры")

Примечания: * - стран-экспортеров в категории “другие страны” - 121; ** - стран-импортеров в категории “другие страны” - 127.

Носороги

APrh <- rh %>% group_by(Exporter,Importer) %>% 
  summarise(s1=sum(Quantity))
APrh <- APrh %>% group_by(Exporter) %>% mutate(sE=sum(s1))
APrh <- APrh %>%
  mutate(
    Exporter = case_when(
      sE < 61 ~ "other countries*",
      .default = Exporter
    )
  )
APrh <- APrh %>% group_by(Importer) %>% mutate(sI=sum(s1))
APrh <- APrh %>%
  mutate(
    Importer = case_when(
      sI < 110 ~ "other countries**",
      .default = Importer
    )
  )
ggplot(as.data.frame(APrh),
       aes(y = s1, axis1 = Exporter, axis2 = Importer)) +
  geom_alluvium(aes(fill = Exporter)) +
  geom_flow(curve_type = "quintic", alpha = 0.1) +
  geom_stratum(size = 0.05, alpha = 0.05) +
  
  geom_text(stat = "stratum",
            aes(label = after_stat(stratum)), size = 2) +
  ggtitle("Диаграмма перетоков торговли носорогами за 47 лет") +
  scale_x_discrete(limits = c("Экспортеры", "Импортеры"),
                   expand = c(0.05, 0.05)) + labs(x = "Страны", y = "Количество особей", fill = "Экспортеры")

Примечания: * - стран-экспортеров в категории “другие страны” - 49; ** - стран-импортеров в категории “другие страны” - 87.

Интенсивность оборота торговли дикими животными

Слоны

el.I<-el%>%group_by(Year)%>%summarise(prodanopogodam=sum(Quantity))
el.I$prodanopogodam<-round(el.I$prodanopogodam,digits = 0)
Intel<-ggplot(el.I,aes(x=Year, y=prodanopogodam))+geom_line(color="#868ddc")+geom_point(color="#868ddc")
plotly::ggplotly(Intel)

Носороги

rh.I<-rh%>%group_by(Year)%>%summarise(prodanopogodam=sum(Quantity))
rh.I$prodanopogodam<-round(rh.I$prodanopogodam,digits = 0)
Intrh<-ggplot(rh.I,aes(x=Year, y=prodanopogodam))+geom_line(color="#7b22d7")+geom_point(color="#7b22d7")
plotly::ggplotly(Intrh)

Линейная модель интенсивности торговли по времени

Слоны

fitel <- lm(prodanopogodam ~ Year, data = el.I)
summary(fitel)
## 
## Call:
## lm(formula = prodanopogodam ~ Year, data = el.I)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -356.07  -88.53  -11.67  114.83  256.09 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept) 6756.953   3083.249   2.192   0.0336 *
## Year          -3.240      1.543  -2.100   0.0414 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 143.5 on 45 degrees of freedom
## Multiple R-squared:  0.08922,    Adjusted R-squared:  0.06898 
## F-statistic: 4.408 on 1 and 45 DF,  p-value: 0.0414
 ggplot(el.I, aes(Year, prodanopogodam)) + 
    geom_abline(
        slope = fitel$coefficients[2],
        intercept = fitel$coefficients[1], 
        color = "#03c03c", 
        linewidth = 1)+
    geom_point(color="#868ddc") + geom_line(color="#868ddc")

Носороги

fitrh <- lm(prodanopogodam ~ Year, data = rh.I)
summary(fitrh)
## 
## Call:
## lm(formula = prodanopogodam ~ Year, data = rh.I)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -170.422  -38.030   -0.523   24.474  200.912 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -10760.926   1324.618  -8.124 2.28e-10 ***
## Year             5.445      0.663   8.213 1.69e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 61.65 on 45 degrees of freedom
## Multiple R-squared:  0.5998, Adjusted R-squared:  0.5909 
## F-statistic: 67.45 on 1 and 45 DF,  p-value: 1.693e-10
 ggplot(rh.I, aes(Year, prodanopogodam)) + 
    geom_abline(
        slope = fitrh$coefficients[2],
        intercept = fitrh$coefficients[1], 
        color = "#03c03c", 
        linewidth = 1)+
    geom_point(color="#7b22d7") + geom_line(color="#7b22d7")

Обсуждение результатов

Для большей наглядности графиков были отобраны 10 стран с наибольшим объемом, темпом, оборотами продаж. Оставшиеся страны были помещены в категорию «другие страны».

По графику «Темпы продаж» можно отследить количество проданных и купленных животных отдельными странами с 1975 года. Видно, что слонов больше всех продают США, Зимбабве и ЮАР, а покупают – США, Канада, Китай и Германия.

Носорогов значительно больше всех продает ЮАР, затем США и Германия. А покупают – Китай, ЮАР и США.

Что примечательно в графиках темпов продаж носорогов – неопознанные страны, обозначенные серой линией. Это неизвестные участники процесса.

В графике «Диаграмма перетоков торговли носорогами за 47 лет» как раз видно, куда и в каких объемах эти неизвестные участники продают животных – преимущественно в ЮАР, которая значительно больше других стран продает носорогов, треть покупателей ЮАР остаются инкогнито.

График перетоков слонов более разнообразный и прозрачный: больше всех продают Канада, США, Зимбабве и ЮАР, а покупают – США и Канада.Не вполне понятны отношения между США и Канадой: половина всего экспорта слонов из США уходит в Канаду, откуда практически в полном оъёме возвращается обратно - импортом.

Далее построены графики интенсивности торговли слонами и носорогами. По торговле слонами – довольно равномерный процесс. Максимальное количество слонов было продано в 1984 (585 особей), в 2020 был спад, продано всего 18 слонов, как выяснилось, обойти логистические преграды удалось в этом году Зимбабве, ЮАР и неким неопознанным торговцам.

В графике интенсивности торговли носорогами наблюдается явный подъем, максимум – в 2017 (422 носорога), даже в 2020 их было продано 67 особей (ЮАР и неопознанный торговец).

В линейной модели видим снижение интенсивности торговли слонами и резкое увеличение торговли носорогами.

Есть надежда, что сохранение популяций животных семейств Rhinocerotidae и Elephantidae будет урегулировано на законодательном уровне, но есть и опасения, что торговля может резко прекратиться по другой, более печальной причине.

Литература

1.Kabacoff, Robert. R in action: data analysis and graphics with R. Manning, 2011;

2.сайт “Торговая База данных CITES”;

3.статья Caroline Sayuri,Stefano Mammola, Pedro Cardoso «Global wildlife trade permeates the Tree of Life». Biological Conservation, т. 247, июль 2020 г., с. 108503. ScienceDirect,https://doi.org/10.1016/j.biocon.2020.108503;

4.документ Категории и критерии Красного списка МСОП (Версия 3.1). Подготовлено Комиссией по выживанию видов МСОП. Одобрено на 51 заседании Совета МСОП Гланд, Швейцария 9 февраля 2000 г.