Skip to content

Instantly share code, notes, and snippets.

@geotheory
Created June 23, 2019 20:21
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 geotheory/5ae8bce75fa56ba52e76d46184e79315 to your computer and use it in GitHub Desktop.
Save geotheory/5ae8bce75fa56ba52e76d46184e79315 to your computer and use it in GitHub Desktop.
require(countrycode)
closest_field = function(x){
if(length(x) > length(unique(x))) stop('x must be a vector of unique values')
similarity = sapply(codelist, function(field){ 100 * sum(x %in% field) / length(x) })
similarity = data.frame(field = names(similarity), similarity = as.vector(similarity), stringsAsFactors=FALSE)
similarity = similarity[order(similarity$similarity, decreasing = TRUE),]
if(suppressWarnings(suppressMessages(!require(tibble)))) return(similarity)
return(as_tibble(similarity))
}
closest_field(c('CM','AL','PA','MK','HA','CO','ZI','KU','TH','FI'))
closest_field(c('Ivory Coast','Guinea','Iran','Russia','North Korea'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment