It is well known today that forests are of utterly importance, and not just for the air we breathe or the wood we use but they also provide a habitat for 80% of the world terrestrial biodiversity, prevent soil erosion, protect watershed and are the second world’s largest storehouses of carbon just after oceans (IUCN, 2012).
Yet, because of deforestation, forests all around the world are getting cut down faster than they can grow, resulting in a reduction of forest area. It is therefore important to study this evolution, to see if some patterns can be drawn and if other variables could explain it.
This study will aim at analysing how forest area has evolved from 1992 to 2016 around the world, and if it follows some patterns. Moreover, agricultural land will be compared to forest area, to see if there is any relationship between those two variables.
The data used in this study comes from the World Bank website and was collected by the Food and Agriculture Organization of the United Nations. Four datasets are used in this study. Two of them represent the forest area by country, from 1990 to 2016, whether in percentage of total land area or in square kilometers. The two others represent the agricultural land by country, from 1961 to 2016, also in percentage of total land area or in square kilometers.
Agricultural land refers to the share of land area that is arable, under permanent crops, and under permanent pastures and forest area is land under natural or planted stands of trees of at least 5 meters in situ, whether productive or not, and excludes tree stands in agricultural production system cover (The World Bank).
Let’s first load in the required library.
library(dplyr)
library(tidyverse)
library(ggridges)
library(countrycode)
library(reshape2)
library(maps)
library(mapdata)
library(moderndive)
Then let’s load the data. The 4 datasets that we are going to load are the followings: Forest_perc
contains the forest area (in percentage of land area) for every country, from 1990 to 2016; Forest_sqkm
contains the forest area (in square kilometers) for every country, from 1990 to 2016; Agri_perc
contains the agricultural land (in percentage of land area), for every country, from 1961 to 2016; and Agri_sqkm
contains the agricultural land (in square kilometers), for every country, from 1961 to 2016.
After loading them we remove the variables that we don’t need such as indicator values, and the years for which there is no data or only for some of the datasets (i.e. the years before 1990, and after 2016). Data from the years 1990 and 1991 are removed because many countries do not have data for those two years.
Forest_perc <- read_csv("./Data/Forest_Area(prc_of_land_area).csv", skip = 4)
Forest_sqkm <- read_csv("./Data/Forest_Area(sq_km).csv", skip = 4)
Agri_perc <- read_csv("./Data/Agricultural_Land_(prc_of_land_area).csv", skip = 4)
Agri_sqkm <- read_csv("./Data/Agricultural_Land(sq_km).csv", skip = 4)
Forest_perc <- subset(Forest_perc, select = -c(3:36, 62:64))
Forest_sqkm <- subset(Forest_sqkm, select = -c(3:36, 62:64))
Agri_perc <- subset(Agri_perc, select = -c(3:36, 62:64))
Agri_sqkm <- subset(Agri_sqkm, select = -c(3:36, 62:64))
Let’s now take a look at our datasets
head(Forest_perc)
head(Forest_sqkm)
head(Agri_perc)
head(Agri_sqkm)
We see that they are all built similarly, only the values change. So we will tidy our data and then join all the 4 datasets into one.
Firts we reshape our datasets so that for each row corresponds to one observation using the gather()
function. We want one column with the years and one with the observed values corresponding to each of the 4 datasets (surface of forest or agricultural land, in percentage and square kilometers).
Forest_perc <- gather(Forest_perc, key = "Year", value = "Forest_perc", `1992`:`2016`)
Forest_sqkm <- gather(Forest_sqkm, key = "Year", value = "Forest_sqkm", `1992`:`2016`)
Agri_perc <- gather(Agri_perc, key = "Year", value = "Agri_perc", `1992`:`2016`)
Agri_sqkm <- gather(Agri_sqkm, key = "Year", value = "Agri_sqkm", `1992`:`2016`)
Now we join two by two so that we end up with only one, using the left_join()
mutate function.
Forest <- left_join(Forest_perc, Forest_sqkm) %>% arrange(`Country Name`)
## Joining, by = c("Country Name", "Country Code", "Year")
Agri <- left_join(Agri_perc, Agri_sqkm) %>% arrange(`Country Name`)
## Joining, by = c("Country Name", "Country Code", "Year")
Area_AF <- left_join(Agri, Forest) %>% arrange(`Country Name`)
## Joining, by = c("Country Name", "Country Code", "Year")
We then input a new variable Continent
that will give us the continent for every country so that later on we can use it to group the values by regions. To do so we use the package countrycode
that contains the countrycode()
function that will convert country names (based on their codes) into continent names.
Area_AF <- Area_AF %>%
mutate(Continent = countrycode(sourcevar = Area_AF$`Country Code`, origin = "wb", destination = "continent")) %>%
select(Continent, everything())
Let’s replace the spaces in the variables names by underscore.
Area_AF <- rename(Area_AF, "Country_Name" = "Country Name", "Country_Code" = "Country Code")
Now let’s take a quick look at the summary statistics of our data to see if we don’t have any errors in the values.
summary(Area_AF)
## Continent Country_Name Country_Code
## Length:6600 Length:6600 Length:6600
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## Year Agri_perc Agri_sqkm
## Length:6600 Min. : 0.4487 Min. : 3
## Class :character 1st Qu.:22.1958 1st Qu.: 5570
## Mode :character Median :37.8539 Median : 54350
## Mean :37.8891 Mean : 1932163
## 3rd Qu.:52.6749 3rd Qu.: 456055
## Max. :85.4874 Max. :48911666
## NA's :297 NA's :285
## Forest_perc Forest_sqkm
## Min. : 0.00 Min. : 0
## 1st Qu.: 12.50 1st Qu.: 3324
## Median : 31.14 Median : 35999
## Mean : 35.81 Mean : 1922725
## 3rd Qu.: 46.70 3rd Qu.: 249204
## Max. :16444.20 Max. :195272428
## NA's :243 NA's :215
We can see that for the forest percentage we have values over 100%, so we will remove them.
Area_AF <- Area_AF %>% filter(Forest_perc < 100)
summary(Area_AF)
## Continent Country_Name Country_Code
## Length:6345 Length:6345 Length:6345
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## Year Agri_perc Agri_sqkm Forest_perc
## Length:6345 Min. : 0.4487 Min. : 3 Min. : 0.00
## Class :character 1st Qu.:22.5501 1st Qu.: 5630 1st Qu.:12.50
## Mode :character Median :38.0235 Median : 54430 Median :31.12
## Mean :38.0131 Mean : 1917378 Mean :32.00
## 3rd Qu.:52.7408 3rd Qu.: 449030 3rd Qu.:46.59
## Max. :85.4874 Max. :48911666 Max. :98.86
## NA's :80 NA's :80
## Forest_sqkm
## Min. : 0
## 1st Qu.: 3322
## Median : 35670
## Mean : 1605261
## 3rd Qu.: 249114
## Max. :41137360
##
Now that we have tidied our data, let’s analyse it. We will first look at the world level, then the regional level and then at the country level.
In our dataset Area_AF
, we have observations at the world level under the “country name” World. First we create a new dataset AF_World
containing only those observations.
AF_World<- Area_AF %>%
filter(Country_Name== "World") %>%
select(-c(Continent, Country_Code))
head(AF_World)
Now we plot our world data. In order to make it more readable, we want to plot both the forest area values and the agricultural land area values on the same plot. To do so, we untidy our data with the melt()
function from the reshape2
package.
AF_World_untidy_perc <- AF_World %>%
melt(measure.vars = c("Forest_perc", "Agri_perc"), id.vars = c("Country_Name", "Year"))
We then plot our new dataset.
ggplot(AF_World_untidy_perc, aes(x = Year, y = value, group = variable, col= variable)) +
geom_line() +
scale_x_discrete(breaks = c("1992", "2004", "2015")) +
theme_classic() +
labs(title = "Evolution of forest area and agricultural land at the world scale",
subtitle = "In percentage of total area",
x = "Year",
y = "Percentage of total area",
caption = "Data source: TheWorldBank/FAO") +
theme(
text = element_text(color = "#22211d"),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
plot.title = element_text(color = "#4e4d47"))
The agricultural land seems rather stable through the years, whereas the forest area seems to have been decreasing every year between 1992 and 2015.
Now let’s input the evolution of agricultural land and forest area from 1992 to 2015. To do so we use the first() function inside a mutate() function to compare each row to the first one and add columns that will output the difference between each row and the first observation of the column.
AF_World %>%
arrange(Year) %>%
mutate(Forest_evol_sqkm = Forest_sqkm - first(Forest_sqkm), Agri_evol_sqkm = Agri_sqkm - first(Agri_sqkm), Forest_evol_perc = Forest_perc - first(Forest_perc), Agri_evol_perc = Agri_perc - first(Agri_perc)) %>%
filter(Year %in% c(1992, 1993, 1994, 2015))
We see that from 1992 to 2015 there’s been a loss of 1,146,024.1 km2 of forest (or 114 million hectares, nearly three times California) with 41,137,360 km2 in 1992 and 39,991,336 km2 in 2015, while the agricultural land had increased by 1,805,355.1 km2 with 46,812,148 km2 in 1992 and 48,617,503 km2 in 2015.
In average, every year 49,827.1 km2 of forest is being cut down, which represents the size of Massachusetts, Vermont and Delaware combined, while agricultural land increased by 78,493.7 km2 every year representing the size of South Carolina.
We now look at our data at the regional level. We first need to summarise our data by regions, but we cannot simply summarise the area percentages for each regions because each country has a different size so it would be biaised if we accord the same weight to each one. Therefore we input the percentages manually.
First we create a new column Country_tot_area
that contains the total area of each country based on the forest area in square kilometers and its equivalent in percentages. Then after dropping all the NAs values we group by continents and years and input the regional percentages.
AF_Regions <- Area_AF %>% mutate(Country_tot_area = (Forest_sqkm / (Forest_perc / 100)))
AF_Regions <- AF_Regions %>%
na.omit() %>%
group_by(Continent, Year) %>%
summarise(Agri_perc = (sum((Agri_sqkm)) / sum(Country_tot_area)) * 100, Forest_perc = (sum((Forest_sqkm)) / sum(Country_tot_area)) * 100, Number_countries = n())
head(AF_Regions)
Because we dropped the rows with NAs values (i.e. group of countries outside of the continent model, rows where a country doesn’t have data for a certain year), we see a small change in the number of countries used to input the data inside the column Number_countries
. This change does not exceed a couple of countries for the whole period 1992-2015.
To plot our data with both forest area and agricultural land on it we need to do as we did at the world level and untidy our data with the melt()
function.
AF_Regions_untidy <- AF_Regions %>%
melt(measure.vars = c("Forest_perc", "Agri_perc"), id.vars = c("Continent", "Year"))
ggplot(AF_Regions_untidy, aes(x = Year, y = value, group = variable, col = variable)) +
geom_line() +
theme_classic() +
labs(title = "Evolution of forest area and agricultural land at the regional scale",
subtitle = "In percentage of total area",
x = "Year",
y = "Percentage of total area",
caption = "Data source: TheWorldBank/FAO") +
theme(
text = element_text(color = "#22211d"),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
plot.title = element_text(color = "#4e4d47")) +
scale_x_discrete(breaks = c("1992", "2004", "2016")) +
facet_wrap(~ Continent)
We can also present this data through a bar chart, filtering for the three years we want.
AF_Regions_untidy_year <- AF_Regions_untidy %>% filter(Year %in% c(1992, 2004, 2016))
ggplot(AF_Regions_untidy_year, aes(x = Continent, y = value, fill = Year)) +
geom_col(position = position_dodge()) +
theme_classic() +
labs(title = "Evolution of forest area and agricultural land at the regional scale",
subtitle = "In percentages of total area",
x = "Continent",
y = "Percentage of total area",
caption = "Data source: TheWorldBank/FAO") +
theme(
text = element_text(color = "#22211d"),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
plot.title = element_text(color = "#4e4d47"))+
facet_wrap(~ variable)
Asia has the smallest proportion of forest (below 20%) and Europe the highest (around 45%). Those two continents seem to be the only ones with a biggest forest area in 2016 than in 1992. We see that no continent shows a big evolution of forest area or agricultural land across the years except for Oceania where agricultural land decreased by around 10% from 1992 to 2016. For Africa, Americas and Europe it seems that forest area and agricultural land shows a negative relationship. To verify it we will conduct a regression.
AF_Regions %>%
ggplot(aes(x = Agri_perc, y = Forest_perc)) +
geom_point(data = AF_Regions, aes(color = Year)) +
geom_smooth(method = "lm", alpha = 0.2, color = "white") +
theme_classic() +
labs(title = "Relationship of forest area and agricultural land",
subtitle = "Regional scale",
x = "Agricultural Land (in % of total land)",
y = "Forest area (in % of total land)",
caption = "Data source: TheWorldBank/FAO") +
theme(
text = element_text(color = "#22211d"),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
plot.title = element_text(color = "#4e4d47")) +
facet_wrap(~ Continent, scales = "free")
We can see that there is a negative relationship for Africa, Americas and Europe, and what seems to be a positive for Oceania. Now we want to perform a linear regression to know the slope and intercept of our model fit. We will look at continents separately, and focused on square kilometers values to makes it easier to understand. We will start by creating a new dataset with the values in square kilometers for each regions.
AF_Regions_sqkm <- Area_AF %>%
na.omit() %>%
group_by(Continent, Year) %>%
summarise(Agri_sqkm = sum(Agri_sqkm), Forest_sqkm = sum(Forest_sqkm))
AF_Africa_sqkm <- AF_Regions_sqkm %>% filter(Continent == "Africa")
lm_Africa_sqkm <- lm(data = AF_Africa_sqkm, formula = Forest_sqkm ~ Agri_sqkm)
get_regression_table(lm_Africa_sqkm, digits = 3)
We see that the slope is -0.66, which means that the linear model predicts a -0.66 km2 change in forest area everytime agricultural land increase by 1 km2. We then look at our R2.
get_regression_summaries(lm_Africa_sqkm)
Our R2 value is 0.833, close to 1, so it means that agricultural land explains quite well the variability in the forest area.
We can therefore suppose that 2/3 of the areas that are deforested in Africa are replaced by agricultural lands.
Let’s look at the difference between 1992 and 2016 for each continent. As we did at the world scale, we use the first()
function inside a mutate()
function to compare each row to the first one and add columns that will output the difference between each row and the first observation of the column.
AF_Regions %>% group_by(Continent) %>%
arrange(Continent, Year) %>%
mutate(Forest_evol = Forest_perc - first(Forest_perc), Agri_evol = Agri_perc -first(Agri_perc)) %>%
select(-c(Number_countries)) %>%
filter(Year %in% c(1992, 2016))
Forest area in Africa decreased by 3.1% of the total area from 1992 to 2016 while agricultural land increased by 2.9% of the total area in the same period. Europe and Asia have an increased in their forest area from 1992 to 2016 with respectively + 0.78% and + 0.87%, while agricultural land decreased by 1.1% for Europe and increased by 1.7% for Asia.
Let’s now create a map showing in red the countries that had less forests in 2016 than in 1992, meaning that they have lost more forest than they have gained.
First we create our dataset by inputing the evolution of agricultural land and forest area from 1992 to 2015 using the first()
function inside a mutate()
function.
AF_Countries <- Area_AF %>%
group_by(Country_Name) %>%
arrange(Country_Name, Year) %>%
mutate(Forest_evol = Forest_perc - first(Forest_perc), Agri_evol = Agri_perc -first(Agri_perc)) %>%
select(-c(Continent, Country_Code, Forest_sqkm, Agri_sqkm))
AF_Countries_DeforNot <- AF_Countries %>%
filter(Year == 2016) %>%
rename(region = Country_Name) %>% # we make sure the names are identical for the join that follows
mutate(`Deforestation or Not` = if_else(Forest_evol >= 0, "No", "Yes")) # we input a new column that shows No if the country has a positive balance or equal to zero, or shows Yes if the balance is negative
Then we prepare our map.
map_data_world <- map_data("world")
## We rename the countries that don't have the same name
map_data_world[map_data_world=="Antigua"]<- "Antigua and Barbuda"
map_data_world[map_data_world=="USA"]<- "United States"
map_data_world[map_data_world=="Venezuela"]<- "Venezuela, RB"
map_data_world[map_data_world=="UK"]<- "United Kingdom"
map_data_world[map_data_world=="Ivory Coast"]<- "Cote d'Ivoire"
map_data_world[map_data_world=="Democratic Republic of the Congo"]<- "Congo, Dem. Rep."
map_data_world[map_data_world=="Republic of Congo"]<- "Congo, Rep."
map_data_world[map_data_world=="Egypt"]<- "Egypt, Arab Rep."
map_data_world[map_data_world=="Iran"]<- "Iran, Islamic Rep."
map_data_world[map_data_world=="Russia"]<- "Russian Federation"
map_data_world_AF_Countries_DeforNot <- left_join(map_data_world, AF_Countries_DeforNot)
## Joining, by = "region"
map_data_world_AF_Countries_DeforNot%>%
ggplot() +
geom_polygon(aes(long, lat, group = group, fill = factor(`Deforestation or Not`)), color = "black") +
scale_fill_discrete() +
coord_quickmap() +
theme_void() +
labs(title = "Deforestation in the world",
caption = "Data source: TheWorldBank/FAO") +
theme(
text = element_text(color = "#22211d"),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
plot.title = element_text(color = "#4e4d47"))
Let’s look at the individual countries now, especially at the evolution of forest area and agricultural land across the years to see how is going deforestation in some countries. We use the dataset that we previously created by inouting the evolution of agricultural land and forest area from 1992 to 2015 and we filter()
to get only the last two years and arrange()
by the evolution of forest area so that first appear the countries with the highest decrease in forest area.
AF_Countries %>%
filter(Year %in% c(2015, 2016)) %>%
arrange(Forest_evol) %>%
select(-c(Agri_perc, Forest_perc))
From 1992 to 2016 Honduras has lost a forest area of nearly 30% of its total surface while it’s agricultural land also decreased (1.1%) ; Zimbabwe 20% while its agricultural land increased by 7.3%; Paraguay 14.6% while its agricultural land increased by 11.4%.
Let’s plot the 5 countries with the highest percentages of deforestation. Again let’s untidy our data so that we can plot forest area and agricultural land in the same plot and select only our 5 countries.
AF_Countries_untidy <- AF_Countries %>%
melt(measure.vars = c("Forest_perc", "Agri_perc"), id.vars = c("Country_Name", "Year")) %>%
filter(Country_Name %in% c("Honduras", "Korea, Dem. People’s Rep.", "Zimbabwe", "Cambodia", "Timor-Leste"))
ggplot(AF_Countries_untidy, aes(x = Year, y = value, group = variable, col = variable)) +
geom_line() +
theme_classic() +
labs(title = "Evolution of forest area and agricultural land at the country level",
subtitle = "In percentage of total area",
x = "Year",
y = "Percentage of total area",
caption = "Data source: TheWorldBank/FAO") +
theme(
text = element_text(color = "#22211d"),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
plot.title = element_text(color = "#4e4d47")) +
scale_x_discrete(breaks = c("1992", "2004", "2016")) +
facet_wrap(~ Country_Name)
Let’s now look at the 5 countries with the biggest deforested areas in square kilometers.
AF_Countries_sqkm <- Area_AF %>%
na.omit() %>%
group_by(Country_Name) %>%
arrange(Country_Name, Year) %>%
mutate(Forest_evol_sqkm = Forest_sqkm - first(Forest_sqkm), Agri_evol_sqkm = Agri_sqkm -first(Agri_sqkm)) %>%
select(-c(Continent, Country_Code, Forest_perc, Agri_perc))
AF_Countries_sqkm %>% filter(Year %in% c(2015, 2016)) %>% arrange(Forest_evol_sqkm)
We see that Brazil has lost 490,648.1 km2 of forest from 1992 to 2016 (representing the size of California and Indiana) at a rate of 20,443.7 km2 per year (the size of Massachusetts). In the same period agricultural land in Brazil increased by 368,370 km2
Indonesia shows a loss of 243,922 km2 from 1992 to 2016, nearly three times less important than Brazil’s one.
Let’s plot the 5 countries with the biggest deforested area.
AF_Countries_untidy_sqkm <- AF_Countries_sqkm %>% melt(measure.vars = c("Forest_sqkm", "Agri_sqkm"), id.vars = c("Country_Name", "Year")) %>%
arrange(Country_Name, variable) %>%
filter(Country_Name %in% c("Brazil", "Indonesia", "Myanmar", "Nigeria", "Tanzania"))
ggplot(AF_Countries_untidy_sqkm, aes(x = Year, y = value, group = variable, col = variable)) +
geom_line() +
theme_classic() +
labs(title = "Evolution of forest area and agricultural land at the country level",
subtitle = "In square kilometers",
x = "Year",
y = "Square kilometers",
caption = "Data source: TheWorldBank/FAO") +
theme(
text = element_text(color = "#22211d"),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
plot.title = element_text(color = "#4e4d47")) +
scale_x_discrete(breaks = c("1992", "2004", "2016")) +
facet_wrap(~ Country_Name, scales = "free")
Let’s conduct a regression.
AF_Countries_select <- AF_Countries %>% filter(Country_Name %in% c("Brazil", "Indonesia", "Myanmar", "Nigeria", "Tanzania"))
AF_Countries_select %>%
ggplot(aes(x = Agri_perc, y = Forest_perc)) +
geom_point(data = AF_Countries_select, aes(color = Year)) +
geom_smooth(method = "lm", alpha = 0.2, color = "white") +
theme_classic() +
labs(title = "Relationship of forest area and agricultural land",
subtitle = "In percentage of total area",
x = "Agricultural Land (in % of total land)",
y = "Forest area (in % of total land)",
caption = "Data source: TheWorldBank/FAO") +
theme(
text = element_text(color = "#22211d"),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
plot.title = element_text(color = "#4e4d47")) +
facet_wrap(~ Country_Name, scales = "free")
We can see that there is a negative relationship for the five countries. Let’s perform a linear regression to know the slope and intercept of our model fit.
AF_Brazil <- AF_Countries_sqkm %>% filter(Country_Name == "Brazil")
lm_Brazil <- lm(AF_Brazil, formula = Forest_sqkm ~ Agri_sqkm )
get_regression_table(lm_Brazil, digits = 3)
get_regression_summaries(lm_Brazil)
We see that the slope is -1.49, meaning that the linear model predicts a -1.49 km2 change in forest area everytime agricultural land increase by 1 km2 And with a R2 value of 0.95, it means that agricultural land explains quite well the variability in the forest area.
It seems therefore obvious than agriculture is not the only reason behind deforestation.
In this study we analysed deforestation through the light of agriculture, but forest loss is not only caused for the land to become agricultural lands. Forest disturbance is also caused by forestry/lodging, by wildfire, shifting cultivation (plots of land are cultivated temporarily, then abandoned and allowed to revert to their natural vegetation while the cultivator moves on to another plot) or urbanization (Curtis et al., 2018).
In a recent study, Curtis et al. (2018) used high-resolution Google Earth imagery to map and classify global forest loss since 2001. They found that 27% of global forest loss can be attributed to change of land use from forest to agriculture. For the rest, 26% of deforestation is caused by forestry, 24% by shifting agriculture and 23% by wildfire. It is important to note that all these other factors are “temporary”, meaning that trees will come back on those lands. With lodging for example, trees will be eventually replanted in the logged land; after a wildfire trees will grow back; and with shifting agriculture trees will grow back once the cultivator has moved to another plot. The only other real cause of “permanent” deforestation is urbanisation, but it only accounts for 1% of global forest loss. The study also found that drivers of forest loss varied regionally. For example, in South Asia deforestation is mostly caused to convert the forest lands into agricultural ones, especially in favour of oil palm plantations, whereas in Central and South America it is mostly for crop agriculture and pasture, and in sub-Saharan Africa shifting agriculture. In Europe and the USA, the principal cause of deforestation is forestry, while in Canada it’s wildfire. About deforestation caused by urbanisation, more than two-thirds of this loss occurred in the eastern United States.
And as we have seen in our study, deforestation is still happening, so as individuals we can take actions. The first is to stop wasting paper by all means, and the second one, the most important, is to stop buying products that contain palm oil.