Skip to content

Instantly share code, notes, and snippets.

@christophergandrud
Last active August 22, 2016 12:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save christophergandrud/ca640f6effcdd9fedc3a6452de7c9f48 to your computer and use it in GitHub Desktop.
Save christophergandrud/ca640f6effcdd9fedc3a6452de7c9f48 to your computer and use it in GitHub Desktop.
Download OECD membership start dates and use it to create a country-year OECD membership dummy variable
# ---------------------------------------------------------------------------- #
# Convert an HTML table of OECD member start dates to year-membership dummies
# Christopher Gandrud
# MIT License
# ---------------------------------------------------------------------------- #
# Load required packages
library(rio)
library(rvest)
library(countrycode)
library(lubridate)
library(DataCombine)
# Download and parse table
URL <- 'http://www.oecd.org/about/membersandpartners/list-oecd-member-countries.htm'
oecd_members <- URL %>% read_html %>%
html_nodes('table') %>%
html_table(fill = TRUE)
# Extract country-dates
oecd_members <- oecd_members[[2]]
oecd_members <- oecd_members[2:(nrow(oecd_members)-1), 2:3]
names(oecd_members) <- c('country', 'date')
# Standardise variables
oecd_members$iso2c <- countrycode(oecd_members$country, origin = 'country.name',
destination = 'iso2c')
oecd_members$date <- dmy(oecd_members$date)
oecd_members$year_start <- year(oecd_members$date)
oecd_members$current_year <- Sys.Date() %>% year # Assumes no membership droppers
# Create yearly membership dummy variable
oecd_members <- TimeFill(oecd_members, GroupVar = 'iso2c',
StartVar = 'year_start', EndVar = 'current_year',
NewVar = 'oecd_member', NewTimeVar = 'year')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment