analysis/species_overlap.md

Species distributions overlap

many_sims <- read.csv(here::here("analysis", "sims_nounif.csv"))

ln_units <- .2

one_sim <- many_sims %>%
  filter(source == "constrained", time_chunk == "eighties", sim == 1) %>%
  mutate(species = as.factor(species),
         ln_mass = log(wgt), 
         size_class = ln_units * (floor(ln_mass/ln_units)),
         size_class_g = exp(size_class))

one_sim_counts <- one_sim %>%
  group_by(species, size_class, size_class_g) %>%
  summarize(nind = dplyr::n()) %>%
  ungroup() %>%
  group_by(species) %>%
  mutate(total_ind_species = sum(nind)) %>%
  ungroup()  %>%
  mutate(ind_proportional = nind / total_ind_species)
isd_plot <- ggplot(data = one_sim_counts, aes(x= size_class, y = nind)) +
  geom_col() +
  theme_bw()
isd_plot

ssd_plot <- ggplot(data = one_sim_counts, aes(x = size_class, y = nind, fill = species)) +
  geom_col(alpha = .2, position = "dodge") +
  theme_bw() +
  scale_fill_viridis_d(end = .8)
ssd_plot

two_species <- one_sim_counts %>%
  filter(species %in% c(1, 2))

two_species_plot <- ggplot(one_sim_counts, aes(x = size_class, y = ind_proportional, color = species)) +
  geom_point(data = two_species) +
  geom_line(data = two_species) +
  theme_bw() +
  scale_color_viridis_d(end = .8, option = "plasma")

two_species_plot

all_species <- expand.grid(unique(as.numeric(one_sim_counts$species)), unique(as.numeric(one_sim_counts$species))) %>%
  rename(sp1 = Var1, sp2 = Var2) %>%
  filter(sp1 < sp2) %>%
  as.matrix()

expanded <- apply(all_species, MARGIN = 1, FUN = function(sp_vect, sim_counts) return(mutate(filter(sim_counts, as.numeric(species) %in% sp_vect), sp1 = sp_vect[1], sp2 = sp_vect[2])), sim_counts = one_sim_counts)

all_species <- bind_rows(expanded)

all_comb_plots <- ggplot(all_species, aes(x = size_class, y = ind_proportional, color = species)) +
  geom_point(data = all_species) +
  geom_line(data = all_species) +
  theme_bw() +
  scale_color_viridis_d(end = .8) + 
  facet_wrap(vars(sp1, sp2), scales = "free") +
  theme(strip.text = element_blank())

all_comb_plots

library(mclust)
## Package 'mclust' version 5.4.5
## Type 'citation("mclust")' for citing this R package in publications.
all_comb <- expand.grid(1:9, 1:9)  %>%
  filter(Var1 != Var2) %>%
  mutate(p = NA)

for(i in 1:nrow(all_comb)) {
  sp1 = all_comb[i, 1]
  sp2 = all_comb[i, 2]

reference_isd <- filter(one_sim, species == sp1)

reference_density <- densityMclust(reference_isd$wgt, modelNames = "V")

id <- data.frame(wgt = seq(0, floor(1.25 * max(one_sim$wgt)), by = .1),
                density = NA)

id$density <- predict(reference_density, newdata = id$wgt)

id$density <- id$density / sum(id$density) 

id$wgt = round(id$wgt, digits = 1)

sp2_p <- filter(one_sim, species == sp2) %>%
  mutate(wgt = round(wgt, digits = 1)) %>%
  left_join(id, by = "wgt")

illust <- ggplot(data = id, aes(x = wgt, y = density)) +
  geom_point() +
  geom_point(data = sp2_p, aes(x = wgt, y = mean(id$density)), color = "red", alpha = .1) +
  geom_point(x = mean(sp2_p$wgt), y = mean(sp2_p$density), color = "green") +
  theme_bw() +
  ggtitle(mean(sp2_p$density))

print(illust)

all_comb$p[i] <- mean(sp2_p$density)
}

hist(all_comb$p)



diazrenata/isds documentation built on Dec. 14, 2019, 10:28 p.m.