Last active
August 22, 2016 12:51
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ---------------------------------------------------------------------------- # | |
# 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