The WHO
package allows the user to download public health data from the World Health Organization's Global Health Observatory in a dynamic and reproducible way.
The package can be installed from either CRAN or Github (development version):
# From CRAN
install.packages("WHO")
# From Github
library(devtools)
install_github("expersso/WHO")
library(WHO)
The get_codes
function returns a data frame with series codes and descriptions for all available series:
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
codes <- get_codes()
head(codes)
## Source: local data frame [6 x 3]
##
## label
## (chr)
## 1 MDG_0000000001
## 2 MDG_0000000003
## 3 MDG_0000000005
## 4 MDG_0000000006
## 5 MDG_0000000007
## 6 MDG_0000000010
## Variables not shown: display (chr), url (chr)
(To retrieve additional meta information (e.g. French and Spanish descriptions, category breakdowns of series, etc), use get_codes(extra = TRUE)
.)
To find a series of interest, use either View(codes)
in Rstudio, or search with regular expressions:
codes[grepl("[Ll]ife expectancy", codes$display), ]
## Source: local data frame [3 x 3]
##
## label display
## (chr) (chr)
## 1 WHOSIS_000001 Life expectancy at birth (years)
## 2 WHOSIS_000002 Healthy life expectancy (HALE) at birth (years)
## 3 WHOSIS_000015 Life expectancy at age 60 (years)
## Variables not shown: url (chr)
The codes
data frame also provides a url
to the meta data for a specified series:
# Opens a browser with the meta data for the specified series
browseURL(codes$url[1])
Having found the series of interest (in the label
column), we can easily retrieve the data and, for example, make a chart:
library(ggplot2)
df <- get_data("WHOSIS_000001")
head(df)
## Source: local data frame [6 x 8]
##
## country gho year
## (chr) (chr) (dbl)
## 1 Andorra Life expectancy at birth (years) 1990
## 2 United Arab Emirates Life expectancy at birth (years) 2000
## 3 United Arab Emirates Life expectancy at birth (years) 1990
## 4 Australia Life expectancy at birth (years) 1990
## 5 Australia Life expectancy at birth (years) 2012
## 6 Belgium Life expectancy at birth (years) 1990
## Variables not shown: worldbankincomegroup (chr), region (chr), sex (chr),
## publishstate (chr), value (dbl)
df %>%
filter(sex == "Both sexes") %>%
group_by(region, year) %>%
summarise(value = mean(value)) %>%
ggplot(aes(x = year, y = value, color = region, linetype = region)) +
geom_line(size = 1) +
theme_light(9) +
labs(x = NULL, y = "Life expectancy at birth (years)\n",
linetype = NULL, color = NULL,
title = "Evolution of life expectancy (by region)\n")
This package is in no way officially related to or endorsed by the WHO.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.