load("data/r_objects/range_maps.RData") # Get taxonomic information for target species names_unique = unique(range_maps$name_matched[!is.na(range_maps$name_matched)]) species_matched = lapply(names_unique, function(name){ match_result = Symobio::gbif_match_name(name = name) if(match_result$status != "ACCEPTED"){ match_result = gbif_match_name(usageKey = match_result$acceptedUsageKey) } match_result$name_orig = name return(match_result) }) %>% bind_rows() # Assign functional groups functional_groups = species_matched %>% mutate( functional_group = case_when( order %in% c("Carnivora", "Artiodactyla", "Cingulata", "Perissodactyla") ~ 1, order %in% c("Rodentia", "Didelphimorphia", "Soricomorpha", "Paucituberculata", "Lagomorpha") ~ 2, order %in% c("Primates", "Pilosa") ~ 3, order %in% c("Chiroptera") ~ 4 ), functional_group = factor(functional_group, labels = c("large ground-dwelling", "small ground-dwelling", "arboreal", "flying")) ) %>% dplyr::select( name_orig, name_matched = species, functional_group ) %>% distinct() save(functional_groups, file = "data/r_objects/functional_groups.RData")