R/set_continent.R

Defines functions set_continent

set_continent <- function(df, ignore.warnings=F) {
  if ('continent' %in% tolower(colnames(df)) && ignore.warnings == F) {
    print('Dataframe already has continent column. Aborting.')
    return(df)
  }
  continent <- list('Asia' = c('bangalore',
                               'bangkok',
                               'beijing',
                               'chennai',
                               'chengdu',
                               'chongqing',
                               'dalian',
                               'delhi',
                               'guangzhou',
                               'hangzhou',
                               'hochiminh',
                               'hongkong',
                               'istanbul',
                               'jakarta',
                               'kabul',
                               'kolkata',
                               'manila',
                               'nanjing',
                               'phnompenh',
                               'qingdao',
                               'novosibirsk',
                               'seoul',
                               'shanghai',
                               'shenzhen',
                               'singapore',
                               'tehran',
                               'telaviv',
                               'tianjin',
                               'tokyo',
                               'zhenjiang',
                               'vientiane',
                               'wuhan',
                               'yangon'),
                    'Europe' = c('amsterdam',
                                 'athens',
                                 'barcelona',
                                 'berlin',
                                 'bratislava',
                                 'brussels',
                                 'bucharest',
                                 'budapest',
                                 'chelyabinsk',
                                 'coimbra',
                                 'copenhagen',
                                 'dublin',
                                 'edinburgh',
                                 'hamburg',
                                 'kiev',
                                 'lisbon',
                                 'lyons',
                                 'london',
                                 'madrid',
                                 'malaga',
                                 'marseille',
                                 'milan',
                                 'moscow',
                                 'munich',
                                 'oslo',
                                 'paris',
                                 'porto',
                                 'nizhny',
                                 'reykjavik',
                                 'saintpetersburg',
                                 'seville',
                                 'stockholm',
                                 'valencia',
                                 'vienna',
                                 'warsaw',
                                 'zagreb',
                                 'zurich'),
                    'North America' = c('albuquerque',
                                        'anchorage',
                                        'atlanta',
                                        'baltimore',
                                        'billings',
                                        'boston',
                                        'bridgeport',
                                        'charleston',
                                        'charlotte',
                                        'chicago',
                                        'ciudaddeguatemala',
                                        'ciudaddepanama',
                                        'cleveland',
                                        'denver',
                                        'detroit',
                                        'evansville',
                                        'fargo',
                                        'houston',
                                        'lasvegas',
                                        'losangeles',
                                        'louisville',
                                        'managua',
                                        'mexico',
                                        'miami',
                                        'milwaukee',
                                        'minneapolis',
                                        'montreal',
                                        'nashville',
                                        'newyork',
                                        'omaha',
                                        'ottawa',
                                        'paterson',
                                        'philadelphia',
                                        'phoenix',
                                        'portland',
                                        'saltlakecity',
                                        'sanfrancisco',
                                        'sanjose',
                                        'sansalvador',
                                        'santodomingo',
                                        'seattle',
                                        'siouxfalls',
                                        'stlouis',
                                        'tegucigalpa',
                                        'toronto',
                                        'tulsa',
                                        'vancouver',
                                        'wichita'),
                    'South America' = c('asuncion',
                                        'bogota',
                                        'buenosaires',
                                        'caracas',
                                        'fortaleza',
                                        'lima',
                                        'manaus',
                                        'medellin',
                                        'montevideo',
                                        'quito',
                                        'riodejaneiro',
                                        'santiago',
                                        'saopaulo'),
                    'Africa' = c("addisababa",
                                 "alexandria",
                                 "alger",
                                 "bamako",
                                 "casablanca",
                                 "conarky",
                                 "dakar",
                                 "dodoma",
                                 "freetown",
                                 "harare",
                                 'johannesburg',
                                 'kampala',
                                 'kigali',
                                 'kinshasa',
                                 'lagos',
                                 'lome',
                                 'luanda',
                                 'maputo',
                                 'monrovia',
                                 'nairobi',
                                 'niamey',
                                 'nouakchott',
                                 'tunis',
                                 'yaounde'),
                    'Oceania' = c('brisbane',
                                  'cairns',
                                  'darwin',
                                  'hobart',
                                  'honolulu',
                                  'melbourne',
                                  'perth',
                                  'sydney',
                                  'toowoomba',
                                  'wellington'))
  continent <- stack(continent)
  colnames(continent) = c('city', 'continent')
  left_join(df, continent, by='city')
}
datadrivenyale/UESIplots documentation built on April 11, 2024, 1:30 a.m.