library(tidyverse)

tibble(gen = as.character(1:6),
       link = paste('https://www.smogon.com/stats/2025-07/gen',gen,'ou-0.txt', 
                    sep = '')) -> link_dat

range <- link_dat$link

dat <- list()

for(i in 1:length(range)){
read.delim(range[i],skip = 5, sep = '|', header  = FALSE, 
           col.names = c('blank','rank','pokemon', 'usage_per',
                         'raw','per','real', 'per2','blank2')) %>% 
  select(pokemon, usage_per) %>% 
  mutate(pokemon    = parse_character(pokemon),
         usage_per  = parse_number(usage_per),
         generation = i) %>% 
  na.omit() -> dat[[i]]
}

bind_rows(dat) -> poke_use_dat

read_csv('https://gist.githubusercontent.com/armgilles/194bcff35001e7eb53a2a8b441e8b2c6/raw/92200bc0a673d5ce2110aaad4544ed6c4010f687/pokemon.csv') %>% 
  rename(num = '#',
         pokemon = Name) %>% 
  janitor::clean_names() %>% 
  left_join(poke_use_dat) %>% 
  filter(!is.na(usage_per)) %>% 
  mutate(type_2 = case_when(is.na(type_2) ~ 'None',
                            TRUE ~ type_2)) -> pokemon_data

write_csv(pokemon_data, '_site/pokemon_data.csv')