1. Summary

Overall there is much evidence for a general improvement of health in Europe during the last decades. Important examples being life expectancy, health care per capita spending and vaccination rates. However, the indicators of the health domain also show different trends, developments and current states throughout Europe. Often there is a gradient from Western to Eastern Europe with Eastern Europe showing lower levels of improvements of certain indicators. A similar gradient is also often seen from north to south for a few indicators. There are also stagnating or even slightly negative trends for some indicators (e.g. some diseases, mental health, substance use), which show that there are certain areas that still need improvement throughout Europe. The increasing gap in some health related subjects could become a rpoblem in the future and needs adressing. Furthermore there exist dangers and difficulties for the progress of health related criterias in Europe that need to be dealt with (e.g. anti-vaccination movement). The population shift is another important health related factor and requires long term adjustments of health related subjects (e.g. health care).

2. Introduction

Ensuring mental and physical health is an important part of sustainable development and therefore a crucial subject to monitor in countries around the world. Due to the influence that the health of a population can have on many other important areas and factors like economy and politics, it is crucial to not only monitor but also use the data gathered to positively influence health development. This is not only true for a country but also for a region surrounding that country, because regional gradients affect countries. Be it directly by disease spreading or indirectly by economic decisions partially based on health. The following analysis aims to give an overview of trends and the state of health relevant indicators in Europe. To achieve this, five sections of the main health sustainable development goal and some of their most relevant indicators have been chosen to be investigated. These indicators have been selected in part based on the goals set by the United Nations for sustainable development. The UN goals relevant to this category are to decrease deaths due to diseases, accidents, childbirth and other causes. Furthermore the UN sees higher investments in medical research, health coverage and vaccinations as important long term solutions. Better treatments and prevention for illnesses and mental as well as drug use disorders are also crucial for reaching a higher health quality. Of these categories indicators belonging to the subsections of vaccination, mental health, diseases, healthcare, life expectancy and substance use have been selected to be analyzed.

3. Data & Methods

Most of the base data used in this analysis has been obtained from https://ourworldindata.org. Ourworldindata in turn accumulates data from multiple studies done by international organisations, researchers and national registers. Sources for the data used in this analysis include: the United Nations (UN), the World Bank, the World Health Orginzation (WHO), the United Nations (UN), the International Children’s Emergency Fund (UNICEF) and the Institute for Health Metrics and Evaluation (IHME). Depending on the indicator the data was either used to create maps,graphs or charts depicting the development in Europe as a whole or comparing European countries. Processing steps included merging, calculating, filtering, joining, aggregating and plotting the data. The processing was carried out using R 3.5.1 and RStudio 1.1.463. The main packages used were ggplot2 and leaflet and RColorBrewer. The full list of packages can be found in the following chapter.

4. Results & Conclusions

Preparations

Activating all necessary packages:

#install.packages("rgeos",repos="http://R-Forge.R-project.org")
#install.packages("cartography")
packages=c("broom","devtools","sp","sf","raster","ggplot2","rgdal","cartography","ggiraph","rnaturalearth","readr","RCurl","htmlwidgets","hrbrthemes","colormap","widgetframe","dplyr","plotly","leaflet","ape","lubridate","tidyr","ggmap","RColorBrewer","dygraphs","xts","reshape2")
lapply(packages, library, character.only=T)
require(data.table)

Downloading and importing world border data:

#download.file(url="http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip", destfile="./Data/tm_world.zip",mode='wb')
#unzip("./Data/tm_world.zip", exdir = "./Data")
worldborder <- st_read("./Data/TM_WORLD_BORDERS-0.3.shp")

Creating a filter for European countries excluding Russia:

seleurope = worldborder$REGION == 150 & worldborder$ISO3 != "RUS"
summary(seleurope)
##    Mode   FALSE    TRUE 
## logical     196      50
europefilter <- dplyr::filter(worldborder, seleurope)

4.1 Diseases in Europe

Map showing the difference in deaths due to the three most relevant disease types from 1990 to 2016 with age standardization.

Importing data:

cancer100k <- read.table("./Data/cancer-death-rates-per-100000.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(cancer100k) <-   c("Entity", "Code",   "Year",   "Cancer")
cardio100k <- read.table("./Data/cardiovascular-disease-death-rates.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(cardio100k) <-   c("Entity", "Code",   "Year",   "Cardio")
dementia100k <- read.table("./Data/dementia-death-rates.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(dementia100k) <-   c("Entity", "Code",   "Year",   "Dementia")

Filtering by Europe:

EUca100k=filter(cancer100k, Code %in% europefilter$ISO3)
EUcd100k=filter(cardio100k, Code %in% europefilter$ISO3)
EUde100k=filter(dementia100k, Code %in% europefilter$ISO3)

Calculating the difference from 2016 to 1990:

cancercal=EUca100k
cancercal$Year <- as.character(cancercal$Year)
cancercal$Year[cancercal$Year == "1990"] <- "Past"
cancercal$Year[cancercal$Year == "2016"] <- "Present"
cancerpoly=cancercal %>% 
    dcast(Entity ~ Year, value.var = "Cancer", fill = 0) %>% 
    mutate(Diff = Present - Past ) %>% 
    select(Entity, Diff)
cardiocal=EUcd100k
cardiocal$Year <- as.character(cardiocal$Year)
cardiocal$Year[cardiocal$Year == "1990"] <- "Past"
cardiocal$Year[cardiocal$Year == "2016"] <- "Present"
cardiopoly=cardiocal %>% 
    dcast(Entity ~ Year, value.var = "Cardio", fill = 0) %>% 
    mutate(Diff = Present - Past ) %>% 
    select(Entity, Diff)
dementcal=EUde100k
dementcal$Year <- as.character(dementcal$Year)
dementcal$Year[dementcal$Year == "1990"] <- "Past"
dementcal$Year[dementcal$Year == "2016"] <- "Present"
dementiapoly=dementcal %>% 
    dcast(Entity ~ Year, value.var = "Dementia", fill = 0) %>% 
    mutate(Diff = Present - Past ) %>% 
    select(Entity, Diff)

Joining the data:

cancerlayer<- left_join(europefilter, cancerpoly, by = c('NAME' = 'Entity'))
cardiolayer<- left_join(europefilter, cardiopoly, by = c('NAME' = 'Entity'))
dementialayer<- left_join(europefilter, dementiapoly, by = c('NAME' = 'Entity'))

Creating color palettes for the map:

## Vector of colors for values smaller than 0 (15 colors)
rc1 <- colorRampPalette(colors = c("darkblue", "white"), space = "Lab")(15)
## Vector of colors for values larger than 0 (5 colors)
rc2 <- colorRampPalette(colors = c("white", "red"), space = "Lab")(5)
ra2 <- colorRampPalette(colors = c("darkblue", "white"), space = "Lab")(100)
rd1 <- colorRampPalette(colors = c("darkblue", "white"), space = "Lab")(50)
rd2 <- colorRampPalette(colors = c("white", "red"), space = "Lab")(4)
## Combining the color palettes
rampcancer <- c(rc1, rc2)
rampdement=c(rd1,rd2)
cancerpal <- colorNumeric(palette = rampcancer, domain = cancerlayer$Diff,na.color = "black")
dementiapal <- colorNumeric(palette = rampdement, domain = dementialayer$Diff,na.color = "black")
cardiopal <- colorNumeric(palette = ra2, domain = cardiolayer$Diff,na.color = "black")

Creating a map with each layer showing the difference in deaths due to a specific disease type standardized by age from 1990 to 2016:

basem<-leaflet()
leafletmapdis = basem %>% addProviderTiles(providers$Esri.WorldShadedRelief)%>%
  addPolygons(data=cancerlayer,weight = 1,opacity = 1,color = "black",dashArray = "1",fillOpacity = 0.7,fillColor = ~cancerpal(Diff),label=~paste(NAME,":",as.character(Diff)),group="Cancers")%>%
  addPolygons(data=cardiolayer,weight = 1,opacity = 1,color = "black",dashArray = "1",fillOpacity = 0.7,fillColor = ~cardiopal(Diff),label=~paste(NAME,":",as.character(Diff)),group="Cardiovascular")%>%
  addPolygons(data=dementialayer,weight = 1,opacity = 1,color = "black",dashArray = "1",fillOpacity = 0.7,fillColor = ~dementiapal(Diff),label=~paste(NAME,":",as.character(Diff)),group="Dementia")%>%
leaflet::addLegend("bottomright", title="<p>Difference in deaths per </p><p>100,000 inhabitants</p><p>from 1990 to 2016</p>",
                    colors =c(rc1[1], rc1[10],  rc2[1], rc2[3], rc2[5],"","black"),
                   labels= c("Decrease", "", "Unchanged", "", "Increase", "", "No data"))%>%
leaflet::addScaleBar("bottomleft")
leafletmapdis %>% addLayersControl(c("Cancers", "Cardiovascular","Dementia"),
   options = layersControlOptions(collapsed = FALSE))

Sources: IHME (2017); UN Population Division (2017)

When accounting for the population shifting to a higher mean age it can be seen that the deaths caused by cancers and cardiovascular diseases have been decreasing in most of Europe. Cardiovascular deaths have decreased in every country in Europe since 1990. The highest reduction of deaths caused by cardiovascular diseases is in Central Europe, while the reduction is less in Eastern Europe. Cancer deaths have decreased in most European countries as well, except for romania, serbia and albania. Other Eastern European countries show only a very small decrease. Dementia related deaths have only noticeably decreased in a few countries.Germany is showing the highest difference to 1990, but even that decrease is rather small. For Eastern Europe the deaths related to dementia have decreased only very slightly with some countries even showing an increase. Researching these diseases will have further increased importance due to the population shifting to older ages.

4.2 Life expectancy

Map showing the life expectancy for European countries from 1980 to 2015.

Importing data:

life <- read.csv("./Data/life-expectancy.csv")
names(life) <-   c("Entity", "Code",   "Year",   "lifeexp")  

Filtering by Europe:

europelifefil=filter(life, Code %in% europefilter$ISO3)

Joining the data:

europelife <- left_join(europefilter, europelifefil, by = c('ISO3' = 'Code'))

Filtering by year:

life80 <- filter(europelife, Year==1980)
life90 <- filter(europelife, Year==1990)
life2000 <- filter(europelife, Year==2000)
life2010 <- filter(europelife, Year==2010)

Creating a color palette for the map:

brew=brewer.pal(9,"Purples")
mpal=colorBin(brew, 60:85, pretty = TRUE,
  na.color = "black", alpha = FALSE, reverse = FALSE,
  right = FALSE)

Creating the map with each layer showing life expectancy in Europe from 1980 to 2010 in 10-year-steps.

basem<-leaflet()
leafletmaplife = basem %>%addProviderTiles(providers$CartoDB.DarkMatterNoLabels)%>%
  addPolygons(data=life80,fillColor = "darkgrey",weight = 1,opacity = 1,color = "black",
              dashArray = "3",fillOpacity = 0.7,label = ~Entity)%>%
  addPolygons(data=life80,fillColor = ~mpal(lifeexp),weight = 1,opacity = 1,color = "black",
              dashArray = "3",group="1980",fillOpacity = 0.7,label=~paste(NAME,":",as.character(lifeexp),"Years"))%>%
  addPolygons(data=life90,fillColor = ~mpal(lifeexp),weight = 1,opacity = 1,color = "black",
              dashArray = "3",group="1990",fillOpacity = 0.7,label=~paste(NAME,":",as.character(lifeexp),"Years"))%>%
  addPolygons(data=life2000,fillColor = ~mpal(lifeexp),weight = 1,opacity = 1,color = "black",
              dashArray = "3",group="2000",fillOpacity = 0.7,label=~paste(NAME,":",as.character(lifeexp),"Years"))%>%
  addPolygons(data=life2010,fillColor = ~mpal(lifeexp),weight = 1,opacity = 1,color = "black",
              dashArray = "3",group="2010",fillOpacity = 0.7,label=~paste(NAME,":",as.character(lifeexp),"Years"))%>%
  leaflet::addLegend("bottomright", pal=mpal, values=europelife$lifeexp,
                     title="<p>Life expectancy</p><p>in Europe [yrs]</p>", na.label="No data")%>%
  leaflet::addScaleBar("bottomleft")
leafletmaplife %>% addLayersControl(c("1980", "1990","2000","2010"),
   options = layersControlOptions(collapsed = FALSE))

Sources: UN Population Division (2017), Census data

Life expectancy has increased for all European countries from 1980 to 2010, whereas Western Europe had a higher increase. For some of the Eastern European countries life expectancy has stagnated (e.g. Ukraine) or only slightly increased. Overall there is a clear gradient from Western Europe to Eastern Europe visible in the maps. Problematic is the increasing gap beween Eastern European countries and the rest of Europe. While life expectancy increased by 6-8 years anywhere else, it only increased by 0-2 years in some countries in the east.

4.3 Vaccination

Scatterplot showing vaccination rates for Europe against measles and dpt in 2015.

Importing data:

measles <- read.table("./Data/share-of-children-vaccinated-against-measles.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(measles) <-   c("Entity", "Code",   "Year",   "meas")
dtp <- read.table("./Data/share-of-children-immunized-dtp3.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(dtp) <-   c("Entity", "Code",   "Year",   "dtp1")

Filtering by Europe and joining:

measlesfil=filter(measles, Code %in% europefilter$ISO3)
measleeurope<- left_join(europefilter, measlesfil, by = c('NAME' = 'Entity'))
dtpfil=filter(dtp, Code %in% europefilter$ISO3)
dtpeurope<- left_join(europefilter, dtpfil, by = c('NAME' = 'Entity'))

Filtering by year:

measleeurope2015 <- filter(measleeurope, Year==2015)
dtpeurope2015 <- filter(dtpeurope, Year==2015)
vacc2015=measleeurope2015
setDT(vacc2015)[setDT(dtpeurope2015), dtpeurope2015 := i.dtp1, on=c("Code")]

Creating the scatterplot:

ggplot(data=vacc2015) +
  geom_point(aes(x=meas,y=dtpeurope2015,size=POP2005),alpha=0.5, color="darkgreen") +
  geom_text(aes(x=meas,y=dtpeurope2015, label=NAME), color="grey15",
            data=filter(vacc2015,meas<90),vjust="inward",hjust="inward") +
    labs(title = "Vaccination rates of children against diphtheria, pertussis, 
tetanus (DPT) and measles in Europe (2015)",
       x = "Vaccinated against measles [%]",
       y = "Vaccinated against DPT [%]",
       size = "Popoulation", caption="Sources: WHO, UNICEF (2017)")+
  theme_classic()

The scatter plot shows that most European countries have high to very high vaccination rates against the chosen diseases. Vaccination rates have heavily increased for most European countries since 1950. However, there are some that still have relatively low vaccination rates against measles in 2015.These include Ukraine, Romania, Serbia, San Marino and Italy. Overall there seems to again be a decrease in vaccination rates from west to east and north to south. These mentioned countries also have relatively low vaccination rates for diphtheria, pertussis and tetanus with Ukraine having the lowest rates. One of the reasons for this could be the ongoing conflict in the country as well as the problems with medical education and health care. According to the WHO a task force has been established consisting of the ministry of health as well as international organisations like the WHO and UNICEF to counter the problem of recent large-scale outbreaks in the Ukraine(WHO, 2018).

Map depicting the share of population that disagrees with vaccines being safe in 2015.

Importing data:

antivax <- read.table("./Data/share-that-disagrees-that-vaccines-are-safe.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(antivax) <-   c("Entity", "Code",   "Year",   "percent")

Filtering by Europe:

antivaxeurope=filter(antivax, Code %in% europefilter$ISO3)
antivaxlayer<- left_join(europefilter, antivaxeurope, by = c('NAME' = 'Entity'))

Creating a color palette:

va1=brewer.pal(9,"YlOrRd")
antivaxpal=colorBin(va1, 0:45, pretty = TRUE,
  na.color = "black", alpha = FALSE, reverse = FALSE,
  right = FALSE)

Creating a map showing the share of the population that disagrees with vaccination being safe in 2015:

basem<-leaflet()
leafletmapantivax = basem %>%addProviderTiles(providers$Esri.WorldGrayCanvas)%>%
  addPolygons(data=antivaxlayer,weight = 1,opacity = 1,color = "black",dashArray = "1",fillOpacity = 0.7,fillColor = ~antivaxpal(percent),label = ~paste(NAME,":",as.character(percent),"%"))%>%
leaflet::addLegend("topright", pal=antivaxpal, values=antivaxlayer$percent,
                     title="<p>Share of the population</p><p>disagreeing with</p><p>vaccines being safe [%]</p>", na.label="No Data")%>%
leaflet::addScaleBar("bottomleft")
leafletmapantivax

Source: Larson et al. (2016)

The map shows the share of the population that disagrees with vaccines being safe. Visible is that most countries in Europe show that more than 10% of the population hold such views. Especially to mention are the alarmingly high shares in France and Southern Europe. Vaccination rates of children against diphtheria, pertussis, tetanus and measles have increased in almost the entiretity of Europe since 1950 and are on very high levels (>95%) at the moment in most of the region. The growing anti-vaccination movement and the already relatively high percent of people believing vaccines not to be safe have the potential to become a danger for the long-term preservation of high vaccination rates and thus herd immunity in Europe. Better education and easier access to research results in this field are needed to prevent large-scale outbreaks in the future and to secure the high vaccination rates. Another way to combat this problem in the future would be to provide social and monetary incentives or disincentives. It is definitely important to increase monitoring this trend with studies to identify ways to change it.

4.4 Healthcare

Map showing the health care expenditure per capita in 2014 compared to 1995.

Importing data:

capita <- read.table("./Data/annual-healthcare-expenditure-per-capita.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(capita) <-   c("Entity", "Code",   "Year",   "cap")
capitafil=filter(capita, Code %in% europefilter$ISO3)

Calculating the difference from 2016 to 1990:

capitafil$Year <- as.character(capitafil$Year)
capitafil$Year[capitafil$Year == "1995"] <- "Past"
capitafil$Year[capitafil$Year == "2014"] <- "Present"
capitapoly=capitafil %>% 
    dcast(Entity ~ Year, value.var = "cap", fill = 0) %>% 
    mutate(Diff = Present - Past ) %>% 
    select(Entity, Diff)

Joining the data:

capitalayer<- left_join(europefilter, capitapoly, by = c('NAME' = 'Entity'))

Creating a color palette for the map:

c1 <- colorRampPalette(colors = c("white", "orange4"), space = "Lab")(10)
cappal <- colorNumeric(palette = c1, domain = capitalayer$Diff,na.color = "black")

Change in health care expenditure per capita from 1995 to 2014 in constant international-$ in 2011 prices:

basem<-leaflet()
leafletmapcap = basem %>% addProviderTiles(providers$Esri.WorldGrayCanvas)%>%
  addPolygons(data=capitalayer,weight = 1,opacity = 1,color = "black",dashArray = "1",fillOpacity = 0.7,fillColor = ~cappal(Diff),label=~paste(NAME,":",as.character(Diff)))%>%
leaflet::addLegend("bottomright", pal=cappal, values=capitalayer$Diff,
                     title="<p>Increase of health care</p><p> expenditure per capita</p><p>from 1995 to 2014</p><p>[const. int. $]</p>", na.label="No Data")%>%
leaflet::addScaleBar("bottomleft")
leafletmapcap

Sources: WHO, 2016

Health care expenditure per capita has increased in all of Europe since 1995. Again there is a gradient from north to south and west to east with Norway increasing expenditure by as much as 4481 \(.The expenditure in Greece, Albania, Ukraine and Latvia increased by less than 1000 constant international-\). This increase can have different reasons. Public spending by goverment programs can be increased, as well as higher private contributions from the citizens to health care. Increases in health care expenditure can be a sign of betterment of healthcare if the treatments increase in quality. However increasing numbers here also mean higher expenditures for the citizens. Health care expenditure increased in countries that already had the highest expenditure in Europe, which could indicate a further increasing gap in health care in Europe. This would be an important area to improve on to combat this gap.

Graph showing the share of out-of-pocket expenditure of total health care expenditure in Europe in 2014.

Importing data:

healthcare <- read.table("./Data/share-of-out-of-pocket-expenditure-on-healthcare.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(healthcare) <-   c("Entity", "Code",   "Year",   "care")
healthcarefil=filter(healthcare, Code %in% europefilter$ISO3)
healthcareeurope<- left_join(europefilter, healthcarefil, by = c('NAME' = 'Entity'))

Aggregating:

test=data.frame(healthcareeurope$care,healthcareeurope$Year)
names(test)=c("care","Year")
healthcaremean=aggregate(.~Year,test,mean) 

Plotting:

ggplot(data=healthcaremean, aes(x=Year, y=care)) +
  geom_line(color="gold3")+
  geom_point(color= "black", size=2)+
  ylim(10, 25)+
      labs(title = "Mean Share of out-of-pocket health expenditure 
of total expenditure on health care in Europe 1995 - 2014.",
       x = "Years",
       y = "Share [%]",
    caption="Sources: WHO, Global Health Expenditure database")+
  theme_classic()

As shown in the graph, the share has not changed much in the last two decades. There is even a slight increase from 2012 to 2015. While some countries (e.g. France) managed to reduce this share, for many Central and Eastern European countries the share of out-of-pocket expenditure has sizably increased in recent years. In 2011 most European countries had above 95% of their population covered by health insurance (Scheil-Adlung & Xenia, 2014). As the annual healthcare expenditures per capita have increased in most of Europe since 1995 (see previous map), which could mean that there has been an increase of total out-of-pocket expenditure per capita in Europe as well. If so, this has the potential to become a problem depending on the development of income since people have to spend more on their health care. A reason for this could also be the population shift which requires higher contributions from the population for the health care of seniors since Europe has quite a high share of public health care.

4.5 Mental health and drug use

Temporal change of estimated share of people who smoke every day 1980-2012.

Importing data:

smoke <- read.table("./Data/daily-smoking-prevalence-bounds.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(smoke) <-c("Entity","Code","Year",   "up","low","est")
smokefil=filter(smoke, Code %in% europefilter$ISO3)
smokeEU<- left_join(europefilter, smokefil, by = c('NAME' = 'Entity'))

Selecting six European countries.

countrylist=c("Romania","Greece","Germany","Norway","Poland","France")
smokecountry=smokeEU[smokeEU$NAME %in% countrylist ,]

Plotting:

ggplot(data=smokecountry, aes(x=Year, y=est, colour=NAME)) +
  geom_line()+
  scale_size_manual(values = c(0.7, 1))+
      labs(color= "Countries",title = "Estimated mean share of people who smoke every day (1980-2012)",
       x = "Years",
       y = "Estimated share [%]",
    caption="Sources: IHME (2012), GHDx (2012)")+
  theme_classic()

The number of daily smokers changed rather differently in European Countries. Some show a major decrease like Norway and Poland, while the numbers stagnated or even increased in others (e.g. Romania and Greece). Compared to other regions, Europe still has quite high numbers of smokers, which increase from west to east.

Change in shares of population with mental health and substance use disorders from 1990 to 2016

Importing data:

mentuse <- read.table("./Data/share-with-mental-and-substance-disorders.csv",quote="\"",stringsAsFactors=TRUE,sep=",",dec=".",header=TRUE)
names(mentuse) <-   c("Entity", "Code",   "Year",   "ment")

Filtering for Europe:

mentusefil=filter(mentuse, Code %in% europefilter$ISO3)

Calculating the difference from 2016 to 1990:

mentusefil$Year <- as.character(mentusefil$Year)
mentusefil$Year[mentusefil$Year == "1990"] <- "Past"
mentusefil$Year[mentusefil$Year == "2016"] <- "Present"
mentpoly=mentusefil %>% 
    dcast(Entity ~ Year, value.var = "ment", fill = 0) %>% 
    mutate(Diff = Present - Past ) %>% 
    select(Entity, Diff)

Joining the data:

mentuselayer<- left_join(europefilter, mentpoly, by = c('NAME' = 'Entity'))

Creating a color palette for the map:

rm1 <- colorRampPalette(colors = c("darkgreen", "white"), space = "Lab")(22)
rm2 <- colorRampPalette(colors = c("white", "brown"), space = "Lab")(15)
## Combine the two color palettes
rampment <- c(rm1, rm2)
mentpal <- colorNumeric(palette = rampment, domain = mentuselayer$Diff,na.color = "black")


#brew=brewer.pal(10,"red")
#mpal=colorBin(brew, 60:85, pretty = TRUE,
#na.color = "black", alpha = FALSE, reverse = FALSE,
 # right = FALSE)

Map depicting the change in share of population with mental health and substance use disorders from 1990 to 2016

basem<-leaflet()
leafletmapment = basem %>% addProviderTiles(providers$Esri.WorldGrayCanvas)%>%
  addPolygons(data=mentuselayer,weight = 1,opacity = 1,color = "black",dashArray = "1",fillOpacity = 0.7,fillColor = ~mentpal(Diff),label=~paste(NAME,":",as.character(Diff)))%>%
leaflet::addLegend("bottomright", title="<p>Difference in share</p><p>from 1990 to 2016 [%]</p>",
                    colors =c(rm1[1], rm1[12],  rm1[22], rm2[7], rm2[10],"","black"),
                   labels= c("Slight decrease", "", "Unchanged", "", "Slight increase", "", "No data"))%>%
leaflet::addScaleBar("bottomleft")
leafletmapment

Sources: IHME (2017)

The difference in shares of the population with mental health or substance use disorders from 1990 to 2016 does not show a clear trend for Europe. There as nearly as much countries with a slight increase as there are countries with a small decrease. The majority of Europe still has a share of above 17-19% in 2016, which is higher than the global average (IHME, 2017). Interestingly the share of people with mental health or substance use disorders increases from east to west and south to north in Europe in 1990 and in 2016. This reverses the gradient often seen with other indicators. A factor for this could also be the better diagnosis of such disorders in Western Europe.

5. Sources

IHME, 2012: Institute for Health Metrics and Evaluation (IHME), 2017: Nationally reperesentative sources and survey data. http://ghdx.healthdata.org/

IHME, 2017: Institute for Health Metrics and Evaluation (IHME), 2017: Global Burden of Disease Study 2016 (GBD 2016) Results. Seattle, United States

Larson et al, 2016: The State of Vaccine Confidence 2016: Global Insights Through a 67-Country Survey.

Scheil-Adlung, Xenia, 2014: Universal Health Protection: Progress to Date and the Way Forward, International Labour Organization.

UN Population Division, 2017: United Nations Population Division, 2017 https://population.un.org/wpp/Download/

World Bank - World Development Indicators, 2017

https://ourworldindata.org/ Last visited on 13.01.2019

WHO, 2016: World Health Organisation Global Health Expenditure database.

WHO, UNICEF, 2017: http://www.who.int/immunization/monitoring_surveillance/en/

WHO, 2018: http://www.euro.who.int/en/countries/ukraine/news/news/2018/05/ukraine-restores-immunization-coverage-in-momentous-effort-to-stop-measles-outbreak-that-has-affected-more-than-12-000-this-year