The ghoR package can be used to conventiently load data from the GHO portal of the WHO. The GHO database contains over 20,000 indicators which represent a statistic on a country level.
You can install the released version of ghoR from CRAN with:
install.packages("ghoR")
And the development version from GitHub with:
# install.packages("devtools")
devtools::install_github("markkvdb/ghoR")
If you are not sure yet which indicator you would like to explore you
can discover all indicators by loading it into a dataframe. To prevent
downloading the dataset every time you request a dataset, the dataset is
saved in ~/.ghoR/
. This file is only updated if the WHO website shows
that the dataset is last updated after downloading our local version of
the dataset.
# First load the library and kable to present table
library(ghoR)
set.seed(420)
# Get a table of all indicators with the code and description.
indicators <- show_GHO_indicators()
indicators_sample <- dplyr::sample_n(indicators, 10)
knitr::kable(indicators_sample)
| IndicatorCode | IndicatorName | Language | | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | | WHS7_108 | Per capita government expenditure on health (PPP int. $) | EN | | CC_5 | Climate change attributable deaths (’000) in children under 5 years | EN | | EMFLIMITELECTRIC | Electric field (kV/m) | EN | | OCC_13 | Occupational noise attributable DALYs (’000) | EN | | TOTENV_11 | Deaths attributable to the environment in children under 5 years (%) | EN | | GDO_q8x3_5 | Accessibility of palliative and end-of-life care services in community for dementia [Capital/capital and main cities/capital, main cities, rural areas] | EN | | TB_new_clindx | New or unknown treatment history cases: Pulmonary, clinically diagnosed | EN | | HIV_0000000020 | Estimated percentage of pregnant women living with HIV who received antiretrovirals for preventing mother-to-child transmission | EN | | IR_CARBAMATE_EXTENT | Percentage of sites for which carbamate resistance was reported | EN | | SHS_1 | Percentage of children under 15 years exposed to second-hand smoke | EN |
As an example, we will look at the remaining life expectancy from age (x) for all available countries, years, sexes and ages. We can load this data using
ex_data <- read_GHO_data("LIFE_0000000035")
knitr::kable(head(ex_data, 10))
| Id | IndicatorCode | SpatialDimType | SpatialDim | TimeDimType | TimeDim | Dim1Type | Dim1 | Dim2Type | Dim2 | Dim3Type | Dim3 | DataSourceDimType | DataSourceDim | Value | NumericValue | Low | High | Comments | Date | | -------: | :--------------- | :------------- | :--------- | :---------- | ------: | :------- | :--- | :------- | :------- | :------- | :--- | :---------------- | :------------ | :---- | -----------: | :-- | :--- | :------- | :---------------------------- | | 15578369 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGELT1 | NA | NA | NA | NA | 45.7 | 45.70058 | NA | NA | NA | 2017-03-31T08:39:36.323+02:00 | | 15578390 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE1-4 | NA | NA | NA | NA | 50.3 | 50.25219 | NA | NA | NA | 2017-03-31T08:39:37.38+02:00 | | 15578411 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE5-9 | NA | NA | NA | NA | 50.6 | 50.56797 | NA | NA | NA | 2017-03-31T08:39:38.317+02:00 | | 15578432 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE10-14 | NA | NA | NA | NA | 47.4 | 47.35501 | NA | NA | NA | 2017-03-31T08:39:39.123+02:00 | | 15578453 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE15-19 | NA | NA | NA | NA | 43.3 | 43.25390 | NA | NA | NA | 2017-03-31T08:39:40.14+02:00 | | 15578474 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE20-24 | NA | NA | NA | NA | 39.2 | 39.19952 | NA | NA | NA | 2017-03-31T08:39:41.17+02:00 | | 15578495 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE25-29 | NA | NA | NA | NA | 35.4 | 35.41076 | NA | NA | NA | 2017-03-31T08:39:42.293+02:00 | | 15578516 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE30-34 | NA | NA | NA | NA | 32 | 31.97939 | NA | NA | NA | 2017-03-31T08:39:43.363+02:00 | | 15578537 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE35-39 | NA | NA | NA | NA | 28.9 | 28.89335 | NA | NA | NA | 2017-03-31T08:39:44.717+02:00 | | 15578558 | LIFE_0000000035 | COUNTRY | RWA | YEAR | 2000 | SEX | BTSX | AGEGROUP | AGE40-44 | NA | NA | NA | NA | 26 | 25.98571 | NA | NA | NA | 2017-03-31T08:39:45.543+02:00 |
Datasets downloaded from the WHO website do not follow the tidy
philosophy. For the spatial, time and other dimensions, each dimension
has a column for the unit of the dimension and one for the value. Most
users prefer having their datasets ready for analysis. The ghoR
package provides a function to transform the dataset as
tidy_data <- tidy_data(ex_data)
knitr::kable(head(tidy_data, 10))
| Id | IndicatorCode | Value | NumericValue | Low | High | Comments | Date | COUNTRY | REGION | YEAR | SEX | AGEGROUP | | -------: | :--------------- | :---- | -----------: | :-- | :--- | :------- | :---------------------------- | :------ | :----- | ---: | :--- | :------- | | 15578369 | LIFE_0000000035 | 45.7 | 45.70058 | NA | NA | NA | 2017-03-31T08:39:36.323+02:00 | RWA | NA | 2000 | BTSX | AGELT1 | | 15578390 | LIFE_0000000035 | 50.3 | 50.25219 | NA | NA | NA | 2017-03-31T08:39:37.38+02:00 | RWA | NA | 2000 | BTSX | AGE1-4 | | 15578411 | LIFE_0000000035 | 50.6 | 50.56797 | NA | NA | NA | 2017-03-31T08:39:38.317+02:00 | RWA | NA | 2000 | BTSX | AGE5-9 | | 15578432 | LIFE_0000000035 | 47.4 | 47.35501 | NA | NA | NA | 2017-03-31T08:39:39.123+02:00 | RWA | NA | 2000 | BTSX | AGE10-14 | | 15578453 | LIFE_0000000035 | 43.3 | 43.25390 | NA | NA | NA | 2017-03-31T08:39:40.14+02:00 | RWA | NA | 2000 | BTSX | AGE15-19 | | 15578474 | LIFE_0000000035 | 39.2 | 39.19952 | NA | NA | NA | 2017-03-31T08:39:41.17+02:00 | RWA | NA | 2000 | BTSX | AGE20-24 | | 15578495 | LIFE_0000000035 | 35.4 | 35.41076 | NA | NA | NA | 2017-03-31T08:39:42.293+02:00 | RWA | NA | 2000 | BTSX | AGE25-29 | | 15578516 | LIFE_0000000035 | 32 | 31.97939 | NA | NA | NA | 2017-03-31T08:39:43.363+02:00 | RWA | NA | 2000 | BTSX | AGE30-34 | | 15578537 | LIFE_0000000035 | 28.9 | 28.89335 | NA | NA | NA | 2017-03-31T08:39:44.717+02:00 | RWA | NA | 2000 | BTSX | AGE35-39 | | 15578558 | LIFE_0000000035 | 26 | 25.98571 | NA | NA | NA | 2017-03-31T08:39:45.543+02:00 | RWA | NA | 2000 | BTSX | AGE40-44 |
To prevent downloading the dataset every time you request a dataset, the
dataset is saved in ~/.ghoR/
. This file is only updated if the WHO
website shows that the last update date is after the last updated date
of the downloaded dataset on the user’s computer.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.