packagesList <-  c("tidyverse")
lapply(packagesList, require, character.only = TRUE)

mostCommSpe <- function(data, track, level){
  species <- data %>% 
    filter(Track == !!track & Level == level) %>% 
    arrange(desc(cont)) %>% 
    head(5) %>% 
    pull(Species)
  return(species)
}

selectSpecies <-  function(data, speciesList, track, level){
  data <- data %>% 
    filter(Track == !!track & Level == level) %>%
    filter(Species %in% speciesList)
  return(data)
  
}

freqCompute <- function(data){
  data <- data %>% 
    spread(key = "Blood", value = "cont") %>% 
    replace(.,is.na(.),0) %>% 
    mutate(total = Engorged + Male + `Non-engorged`) %>% 
    mutate(Engorged = Engorged/total,
           Male = Male/total,
           `Non-engorged` = `Non-engorged`/total) %>% 
    gather("Status","Freq",4:6) %>% 
    mutate(total = total * Freq)
  return(data)
}

makePlot <- function(data){
  fig <- ggplot(data) +
    geom_bar(aes(x = reorder(Species,total), y = total, fill = Status), stat = "identity") +
    coord_flip() +
    theme_bw(base_size = 48) +
    theme(legend.position = "bottom", axis.text.y = element_text(face = "italic")) +
    labs(x = NULL, y = "Number of specimens collected")
  return(fig)
}
