Plant species (higher), threatened

Source: worldbank.org, 01.09.2025

Year: 2018

Flag Country Value Value change, % Rank
Aruba Aruba 2 97
Afghanistan Afghanistan 5 94
Angola Angola 34 70
Albania Albania 4 95
Andorra Andorra 0 99
United Arab Emirates United Arab Emirates 0 99
Argentina Argentina 70 50
Armenia Armenia 74 47
American Samoa American Samoa 1 98
Antigua & Barbuda Antigua & Barbuda 4 95
Australia Australia 108 37
Austria Austria 17 83
Azerbaijan Azerbaijan 44 64
Burundi Burundi 89 44
Belgium Belgium 0 99
Benin Benin 20 81
Burkina Faso Burkina Faso 4 95
Bangladesh Bangladesh 23 78
Bulgaria Bulgaria 9 90
Bahrain Bahrain 0 99
Bahamas Bahamas 7 92
Bosnia & Herzegovina Bosnia & Herzegovina 3 96
Belarus Belarus 1 98
Belize Belize 46 63
Bermuda Bermuda 8 91
Bolivia Bolivia 106 38
Brazil Brazil 558 6
Barbados Barbados 3 96
Brunei Brunei 127 32
Bhutan Bhutan 43 65
Botswana Botswana 3 96
Central African Republic Central African Republic 26 75
Canada Canada 18 82
Switzerland Switzerland 4 95
Chile Chile 73 48
China China 593 5
Côte d’Ivoire Côte d’Ivoire 118 35
Cameroon Cameroon 555 7
Congo - Kinshasa Congo - Kinshasa 148 28
Congo - Brazzaville Congo - Brazzaville 46 63
Colombia Colombia 268 15
Comoros Comoros 9 90
Cape Verde Cape Verde 51 58
Costa Rica Costa Rica 143 30
Cuba Cuba 179 23
Curaçao Curaçao 2 97
Cayman Islands Cayman Islands 22 79
Cyprus Cyprus 22 79
Czechia Czechia 26 75
Germany Germany 36 69
Djibouti Djibouti 3 96
Dominica Dominica 12 87
Denmark Denmark 1 98
Dominican Republic Dominican Republic 47 62
Algeria Algeria 22 79
Ecuador Ecuador 1,859 1
Egypt Egypt 8 91
Eritrea Eritrea 6 93
Spain Spain 247 17
Estonia Estonia 0 99
Ethiopia Ethiopia 64 51
Finland Finland 2 97
Fiji Fiji 78 46
France France 47 62
Faroe Islands Faroe Islands 0 99
Micronesia (Federated States of) Micronesia (Federated States of) 5 94
Gabon Gabon 173 24
United Kingdom United Kingdom 42 66
Georgia Georgia 63 52
Ghana Ghana 119 34
Gibraltar Gibraltar 1 98
Guinea Guinea 70 50
Gambia Gambia 6 93
Guinea-Bissau Guinea-Bissau 6 93
Equatorial Guinea Equatorial Guinea 98 41
Greece Greece 72 49
Grenada Grenada 3 96
Greenland Greenland 1 98
Guatemala Guatemala 120 33
Guam Guam 5 94
Guyana Guyana 30 73
Hong Kong SAR China Hong Kong SAR China 10 89
Honduras Honduras 134 31
Croatia Croatia 8 91
Haiti Haiti 93 42
Hungary Hungary 43 65
Indonesia Indonesia 458 10
Isle of Man Isle of Man 0 99
India India 396 11
Ireland Ireland 3 96
Iran Iran 7 92
Iraq Iraq 2 97
Iceland Iceland 0 99
Israel Israel 23 78
Italy Italy 102 39
Jamaica Jamaica 215 20
Jordan Jordan 8 91
Japan Japan 50 59
Kazakhstan Kazakhstan 14 85
Kenya Kenya 243 18
Kyrgyzstan Kyrgyzstan 13 86
Cambodia Cambodia 37 68
Kiribati Kiribati 0 99
St. Kitts & Nevis St. Kitts & Nevis 2 97
South Korea South Korea 31 72
Kuwait Kuwait 0 99
Laos Laos 56 55
Lebanon Lebanon 24 77
Liberia Liberia 53 56
Libya Libya 7 92
St. Lucia St. Lucia 7 92
Liechtenstein Liechtenstein 0 99
Sri Lanka Sri Lanka 297 14
Lesotho Lesotho 4 95
Lithuania Lithuania 1 98
Luxembourg Luxembourg 0 99
Latvia Latvia 0 99
Macao SAR China Macao SAR China 0 99
Saint Martin (French part) Saint Martin (French part) 3 96
Morocco Morocco 52 57
Monaco Monaco 1 98
Moldova Moldova 2 97
Madagascar Madagascar 1,111 2
Maldives Maldives 0 99
Mexico Mexico 484 9
Marshall Islands Marshall Islands 0 99
North Macedonia North Macedonia 4 95
Mali Mali 12 87
Malta Malta 4 95
Myanmar (Burma) Myanmar (Burma) 61 54
Montenegro Montenegro 3 96
Mongolia Mongolia 0 99
Northern Mariana Islands Northern Mariana Islands 6 93
Mozambique Mozambique 145 29
Mauritania Mauritania 0 99
Mauritius Mauritius 91 43
Malawi Malawi 34 70
Malaysia Malaysia 727 3
Namibia Namibia 27 74
New Caledonia New Caledonia 350 12
Niger Niger 4 95
Nigeria Nigeria 205 22
Nicaragua Nicaragua 50 59
Netherlands Netherlands 1 98
Norway Norway 10 89
Nepal Nepal 18 82
Nauru Nauru 0 99
New Zealand New Zealand 21 80
Oman Oman 6 93
Pakistan Pakistan 12 87
Panama Panama 212 21
Peru Peru 328 13
Philippines Philippines 254 16
Palau Palau 5 94
Papua New Guinea Papua New Guinea 179 23
Poland Poland 11 88
Puerto Rico Puerto Rico 64 51
North Korea North Korea 17 83
Portugal Portugal 101 40
Paraguay Paraguay 20 81
Palestinian Territories Palestinian Territories 6 93
French Polynesia French Polynesia 48 61
Qatar Qatar 0 99
Romania Romania 7 92
Russia Russia 56 55
Rwanda Rwanda 41 67
Saudi Arabia Saudi Arabia 4 95
Sudan Sudan 17 83
Senegal Senegal 14 85
Singapore Singapore 62 53
Solomon Islands Solomon Islands 16 84
Sierra Leone Sierra Leone 72 49
El Salvador El Salvador 33 71
San Marino San Marino 0 99
Somalia Somalia 49 60
Serbia Serbia 6 93
South Sudan South Sudan 17 83
São Tomé & Príncipe São Tomé & Príncipe 49 60
Suriname Suriname 27 74
Slovakia Slovakia 25 76
Slovenia Slovenia 7 92
Sweden Sweden 5 94
Eswatini Eswatini 13 86
Sint Maarten Sint Maarten 3 96
Seychelles Seychelles 61 54
Syria Syria 26 75
Turks & Caicos Islands Turks & Caicos Islands 9 90
Chad Chad 6 93
Togo Togo 13 86
Thailand Thailand 159 26
Tajikistan Tajikistan 12 87
Turkmenistan Turkmenistan 4 95
Timor-Leste Timor-Leste 2 97
Tonga Tonga 5 94
Trinidad & Tobago Trinidad & Tobago 50 59
Tunisia Tunisia 9 90
Turkey Turkey 113 36
Tuvalu Tuvalu 0 99
Tanzania Tanzania 644 4
Uganda Uganda 64 51
Ukraine Ukraine 22 79
Uruguay Uruguay 22 79
United States United States 510 8
Uzbekistan Uzbekistan 16 84
St. Vincent & Grenadines St. Vincent & Grenadines 6 93
Venezuela Venezuela 86 45
British Virgin Islands British Virgin Islands 20 81
U.S. Virgin Islands U.S. Virgin Islands 17 83
Vietnam Vietnam 231 19
Vanuatu Vanuatu 10 89
Samoa Samoa 2 97
Yemen Yemen 163 25
South Africa South Africa 153 27
Zambia Zambia 23 78
Zimbabwe Zimbabwe 52 57

The indicator "Plant species (higher), threatened" is a crucial metric that helps assess the conservation status of vascular plants worldwide. This indicator focuses on species that are at risk of extinction due to various environmental and anthropogenic pressures. Monitoring and understanding the threats to biodiversity, specifically plant species, is essential for effective conservation efforts.

The importance of tracking threatened plant species cannot be overstated. Plants play a vital role in maintaining ecological balance, supporting life forms by providing oxygen, food, and habitat. They also contribute to soil health, water purification, and carbon sequestration, which are essential for combating climate change. Furthermore, plant species form the basis of various industries, including pharmaceuticals, agriculture, and horticulture. As such, the decline of plant species threatens not only natural ecosystems but also human economic activities and health.

This indicator is interrelated with other biodiversity indicators, such as animal species threatened and overall ecosystem health. A decline in plant species often correlates with the decline in animal species, as many animals rely on plants for sustenance and shelter. Furthermore, the health of an ecosystem is often measured by the diversity of its plant life. Thus, monitoring threatened plant species provides insights into broader ecological trends and challenges.

Several factors impact the status of threatened plant species. Habitat loss due to urbanization, deforestation, and agricultural expansion is a significant driver of plant species decline. Climate change poses another considerable threat, as shifting temperature and precipitation patterns can disrupt plant growth and reproduction. Invasive species can outcompete native flora, leading to further reductions in plant diversity. Additionally, pollution and over-exploitation exacerbate the pressures on vulnerable plant species, pushing them closer to extinction.

To address the challenges posed to threatened plant species, several strategies and solutions can be employed. Conservation efforts need to focus on habitat preservation and restoration, ensuring that native ecosystems remain intact and can support a diverse array of plant species. Establishing protected areas and reserves can mitigate habitat loss and protect critical ecosystems from human encroachment. Furthermore, restoring degraded ecosystems can provide a second chance for declining plant species to recover.

Engaging local communities in conservation efforts is essential. By promoting sustainable land-use practices and raising awareness about the value of plant diversity, communities can play a crucial role in protecting endangered species. Educational programs can foster a culture of conservation, empowering individuals to take action against the loss of biodiversity.

Another key solution lies in legislation and policy. Governments must implement and enforce regulations that safeguard threatened plant species and their habitats. Research and monitoring are also critical; by understanding population trends and the factors leading to decline, conservationists can develop targeted strategies for protection and recovery.

Despite the importance of monitoring threatened plant species, there are flaws inherent in current methodologies. Data collection can be inconsistent, with many regions lacking comprehensive assessments of plant diversity. Additionally, some assessments prioritize charismatic or economically valuable species over less-known plants, leading to a skewed understanding of threats to biodiversity as a whole. Without reliable and consistent data, it becomes challenging to create effective conservation strategies.

Examining global data from 2018 reveals that the median number of threatened plant species was 18.0, which indicates a considerable level of concern regarding global plant diversity. Regions such as Ecuador and Madagascar exhibited astonishingly high numbers of threatened species, clocking in at 1859 and 1111, respectively. These figures point to the overwhelming pressures faced by biodiversity hotspots that are often under threat from factors like deforestation and land-use change. In fact, tropical regions, known for their rich vegetation, often struggle against rapid agricultural expansion and logging, driving their plant species toward the brink of extinction.

In contrast, areas like Andorra, Bahrain, Belgium, Estonia, and the Faroe Islands reported zero threatened plant species in 2018. While these figures may seem encouraging, they could also indicate a lack of research or awareness regarding plant biodiversity in these regions. It raises a critical question about the true nature of biodiversity in under-monitored areas; are they genuinely free of threats, or are there unrecognized declines that require attention?

The world average for threatened plant species was reported at 15735 species in 2017. This highlights a severe biodiversity crisis, where numerous plant species face various threats. The continuous tracking of these values over the years can serve to illustrate trends, painting a clearer picture of how global efforts in conservation are faring over time.

In conclusion, the indicator "Plant species (higher), threatened" serves as an essential benchmark for understanding and combating biodiversity loss. It underscores the intricate relationships among plant health, ecosystem stability, and human well-being. A concerted effort involving local communities, robust policies, and ongoing research is imperative to ensure these vital species do not vanish, thereby ensuring the planet's ecological integrity for future generations.

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'EN.HPT.THRD.NO'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'EN.HPT.THRD.NO'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))