library(here)
library(dplyr)
library(taxize)
library(raster)
library(maptools)
library(knitr)
library(vroom)
library(reshape2)
za_list<-vroom::vroom(here::here("GBIF/Species_List/0004232-190813142620410.csv"))
ls_list<-vroom::vroom(here::here("GBIF/Species_List/0004702-190813142620410.csv"))
sw_list<-vroom::vroom(here::here("GBIF/Species_List/0004707-190813142620410.csv"))
tx_list<-rbind(za_list, ls_list, sw_list)
missing_sp<-tx_list%>%
filter(kingdom == "Animalia" & is.na(species))%>%
distinct()
tx<-tx_list %>%
dplyr::select(kingdom,phylum, class, order,family,genus,species)%>%
filter((kingdom == "Animalia" | kingdom == "Plantae") & !is.na(species))%>%
distinct()
kable(table(tx$kingdom))
| Var1 | Freq |
|---|---|
| Animalia | 5794 |
| Plantae | 10677 |
Bird and Mammal traits from EltonTraits database
tx_birds<-tx %>%
filter(class == "Aves")
tx_mammals<-tx %>%
filter(class == "Mammalia")
##EltonTraits database for bird and mammal diets
b_traits<-read.csv(here::here("Traits/birddiet.csv"),stringsAsFactors = FALSE)
m_traits<-read.csv(here::here("Traits/mammdiet_elton.csv"), stringsAsFactors = FALSE)
bird_syn<-tx_birds$species[!tx_birds$species %in% b_traits$Scientific]
bird_traits<-merge(tx_birds, b_traits, by.x = "species", by.y = "Scientific")
mammal_traits<-merge(tx_mammals, m_traits, by.x = "species", by.y = "Scientific")
# tsn <- get_tsn(bird_syn[2], accepted = FALSE)
#
# lapply(tsn, classification, db = 'itis')
Birds
# Diet groups
kable(bird_traits %>%
dplyr::select(Diet.5Cat)%>%
group_by(Diet.5Cat) %>%
mutate(diet_count = n())%>%
distinct()%>%
arrange(-diet_count))
| Diet.5Cat | diet_count |
|---|---|
| Invertebrate | 376 |
| VertFishScav | 126 |
| PlantSeed | 122 |
| Omnivore | 84 |
| FruiNect | 41 |
length(unique(bird_traits$species))
## [1] 749
mammal_sel<-mammal_traits%>%
dplyr::select(species,contains("Diet"))%>%#.Inv, Diet.Vend, Diet.Vect, Diet.Vfish, Diet.Vunk, Diet.Scav, Diet.Scav, Diet.Fruit, Diet.Nect, Diet.Seed, Diet.PlantO)
dplyr::select(-Diet.Source, -Diet.Certainty)
mammal_melt<-melt(mammal_sel)
mammal_diet<-mammal_melt %>%
group_by(species) %>%
filter(value == max(value))
Mammals
kable(mammal_diet%>%
group_by(variable)%>%
mutate(diet_count = n())%>%
dplyr::select(diet_count)%>%
distinct()%>%
arrange(-diet_count))
| variable | diet_count |
|---|---|
| Diet.PlantO | 87 |
| Diet.Inv | 68 |
| Diet.Vend | 22 |
| Diet.Fruit | 18 |
| Diet.Seed | 15 |
| Diet.Vfish | 8 |
| Diet.Vect | 6 |
| Diet.Vunk | 4 |
| Diet.Scav | 2 |
| Diet.Nect | 2 |
length(unique(mammal_diet$species))
## [1] 203
sa_xy<-vroom::vroom(here::here("GBIF/Occurences/0004234-190813142620410.csv"))
sw_xy<-vroom::vroom(here::here("GBIF/Occurences/0004706-190813142620410.csv"))
ls_xy<-vroom::vroom(here::here("GBIF/Occurences/0004701-190813142620410.csv"))
txy<-rbind(sa_xy, sw_xy, ls_xy)
tmp_dir <- tempdir()
files <- list.files(tmp_dir, full.names = T)
file.remove(files)
## [1] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
txy_sel <- txy %>%
dplyr::select(kingdom, phylum, class, order, family, genus, species, decimalLatitude,decimalLongitude) %>%
filter(!is.na(decimalLatitude) & !is.na(decimalLongitude) & (decimalLongitude != 0 & decimalLatitude != 0)) %>%
distinct()
coordinates(txy_sel) <- ~decimalLongitude + decimalLatitude
rast<-raster(ncol = 100, nrow = 100)
extent(rast) <- extent(txy_sel)
rast_pts<-rasterize(txy_sel, rast, fun = "count")
plot(rast_pts[[8]])