library(tidyverse)
library(multcomp)
library(tibble)
library(lubridate)
library(ggplot2)
library(ggpubr)
library(glmmTMB)
library(DHARMa)

# Data preparation ####
spiders <- c("Agyneta.rurestris","Erigone.atra","Erigone.dentipalpis",
             "Oedothorax.apicatus","Pardosa.agrestis","Tenuiphantes.tenuis")
all_spiders <- c("Erigone.dentipalpis", "Oedothorax.apicatus", "Erigone.atra",
                 "Tenuiphantes.tenuis", "Agyneta.rurestris", "Pardosa.agrestis",
                 "Bathyphantes.gracilis", "Trochosa.ruricola", "Pardosa.spp.",
                 "Pachygnatha.degeeri", "Araeoncus.humilis", "Oedothorax.retusus",
                 "Pardosa.palustris", "Oedothorax.agrestis", "Drassyllus.spp.",
                 "Gnaphosidae.spp.", "Porrhomma.spp.", "Diplostyla.concolor",
                 "Micaria.spp.", "Pardosa.amentata", "Pelecopsis.parallela",
                 "Pardosa.agricolae", "Phrurolithus.minimus", "Xysticus.cochi",
                 "Xysticus.spp.", "Histopona.torpida", "Callilepis.nocturna",
                 "Coelotes.terrestris", "Haplodrassus.minor", "Oedothorax.fuscus",
                 "Ostearius.melanophygius", "Tenuiphantes.spp.", "Tetragnatidae.spp.",
                 "Tibellus.oblungus", "Trochosa.spp.", "Diplocephalus.cristatus",
                 "Robertus.spp.", "Ozyptila.simplex", "Pelecopsis.parallela",
                 "Trachyzelothes.pedestris", "Walckenaeria.vigilax", "Centromerus.cavenarum",
                 "Drassyllus.pusillus")
spider_labels = c("Agyneta.rurestris" = "Agyneta\nrurestris",
                   "Erigone.atra" = "Erigone\natra",
                   "Erigone.dentipalpis" = "Erigone\ndentipalpis",
                   "Oedothorax.apicatus" = "Oedothorax\napicatus",
                   "Pardosa.agrestis" = "Pardosa\nagrestis",
                   "Tenuiphantes.tenuis" = "Tenuiphantes\ntenuis")
breaks_2021 <- as.POSIXct(c("2021-06-07", "2021-06-14","2021-06-21", "2021-06-28","2021-07-05","2021-07-12"))
breaks_2022 <- as.POSIXct(c("2022-06-07", "2022-06-14","2022-06-21", "2022-06-28","2022-07-05","2022-07-12"))


# 2021a (RS / RundS)
s_UKA_RS_21<-read.csv("2021a spiders.csv",sep=";",header=T)
s1_UKA_RS_21 <- s_UKA_RS_21 %>%
  mutate(across(c(ROW, DIRECTION, SURROUNDING, BLOCK, TREATMENT), 
                as.factor),
         DATE = as.Date(DATE),
         TOTAL_SPIDERS = rowSums(across("Oedothorax.apicatus":last_col()), na.rm = TRUE))

s2_UKA_RS_21 <- s1_UKA_RS_21 %>%
  gather("SPIDER","COUNT","unidentifiable":last_col()) %>%
  mutate(SPIDER = as.factor(SPIDER))

s3_UKA_RS_21 <- subset(s2_UKA_RS_21, DATE < "2021-07-31") %>% 
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch") %>%
  group_by(DATE,BLOCK,TREATMENT,SPIDER) %>% 
  summarise(x_mean = mean(COUNT, na.rm = T))

sx_UKA_RS_21 <- s2_UKA_RS_21 %>% 
  group_by(SPIDER) %>% 
  summarise(sum = sum(COUNT, na.rm = T))

s4_UKA_RS_21 <- s3_UKA_RS_21 %>% 
  group_by(BLOCK,TREATMENT,SPIDER) %>% 
  summarise(sum = sum(x_mean,na.rm = T))

ts4_UKA_RS_21 <- s4_UKA_RS_21 %>% 
  filter(SPIDER %in% spiders) %>%
  group_by(TREATMENT,SPIDER) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum)) %>%
  ungroup() %>%
  group_by(SPIDER) %>%
  filter(any(mean > 0)) %>%
  ungroup()

s5_UKA_RS_21 <- s3_UKA_RS_21 %>% 
  filter(SPIDER %in% "TOTAL_SPIDERS") %>%
  group_by(BLOCK,TREATMENT,DATE) %>% 
  summarise(sum = sum(x_mean,na.rm = T))

ts5_UKA_RS_21 <- s5_UKA_RS_21 %>% 
  group_by(TREATMENT,DATE) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum))

s6_UKA_RS_21 <- subset(s2_UKA_RS_21, DATE < "2021-07-31") %>% 
  group_by(DATE,BLOCK,TREATMENT,SPIDER) %>% 
  summarise(x_mean = mean(COUNT, na.rm = T))

s7_UKA_RS_21 <- s6_UKA_RS_21 %>% 
  group_by(BLOCK,TREATMENT,SPIDER) %>% 
  summarise(sum = sum(x_mean,na.rm = T))

ts7_UKA_RS_21 <- s7_UKA_RS_21 %>% 
  filter(SPIDER %in% spiders) %>%
  group_by(TREATMENT,SPIDER) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum)) %>%
  ungroup() %>%
  group_by(SPIDER) %>%
  filter(any(mean > 0)) %>%
  ungroup()

sa1_UKA_RS_21 <- subset(s2_UKA_RS_21, DATE > "2021-07-31" & DATE < "2021-10-01") %>% 
  group_by(DATE,BLOCK,TREATMENT,SPIDER) %>% 
  summarise(t_mean = mean(COUNT, na.rm = T))

sa2_UKA_RS_21 <- subset(s2_UKA_RS_21, DATE > "2021-10-01") %>% 
  group_by(DATE,BLOCK,TREATMENT,SPIDER) %>% 
  summarise(t_mean = mean(COUNT, na.rm = T))

sta1_UKA_RS_21 <- sa1_UKA_RS_21 %>% 
  group_by(BLOCK,TREATMENT,SPIDER) %>% 
  summarise(sum = sum(t_mean,na.rm = T))

sta2_UKA_RS_21 <- sa2_UKA_RS_21 %>% 
  group_by(BLOCK,TREATMENT,SPIDER) %>% 
  summarise(sum = sum(t_mean,na.rm = T))

sfa1_UKA_RS_21 <- sta1_UKA_RS_21 %>% 
  filter(SPIDER %in% spiders)

sfa2_UKA_RS_21 <- sta2_UKA_RS_21 %>% 
  filter(SPIDER %in% spiders)

ssfa1_UKA_RS_21 <- sfa1_UKA_RS_21 %>% 
  group_by(TREATMENT,SPIDER) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum))

ssfa2_UKA_RS_21 <- sfa2_UKA_RS_21 %>% 
  group_by(TREATMENT,SPIDER) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum))


surr_spider_RS_21 <- subset(s2_UKA_RS_21, DATE < "2021-07-31" & 
                              SPIDER %in% spiders &
                              TREATMENT == "WT") %>% 
  group_by(DATE,BLOCK,TREATMENT,SURROUNDING) %>% 
  summarise(sum = sum(COUNT)) %>%
  group_by(TREATMENT,SURROUNDING,BLOCK) %>%
  summarise(mean = mean(sum, na.rm = T)) %>%
  group_by(TREATMENT,SURROUNDING) %>% 
  summarise(t_mean = mean(mean, na.rm = T),
            se = sd(mean, na.rm = T)/sqrt(length(mean)),
            n = length(mean))

surr_spec_spider_RS_21 <- subset(s2_UKA_RS_21, DATE < "2021-07-31" & 
                                   TREATMENT == "WT" &
                                   SPIDER %in% spiders) %>%
  group_by(BLOCK,TREATMENT,SURROUNDING,SPIDER) %>% 
  summarise(mean1 = mean(COUNT, na.rm = T)) %>%
  group_by(TREATMENT,SURROUNDING,SPIDER) %>% 
  summarise(t_mean = mean(mean1, na.rm = T),
            se = sd(mean1, na.rm = T)/sqrt(length(mean1)),
            n = length(mean1))

surr_date_spider_RS_21 <- subset(s2_UKA_RS_21, DATE < "2021-07-31" & 
                                   SPIDER %in% spiders &
                                   TREATMENT == "WT") %>% 
  group_by(DATE,BLOCK,TREATMENT,SURROUNDING) %>% 
  summarise(sum = sum(COUNT)) %>%
  group_by(TREATMENT,SURROUNDING,DATE) %>%
  summarise(t_mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum))

# 2021b (MS)
s_UKA_MS_21<-read.csv("2021b spiders.csv",sep=";",header=T)
s1_UKA_MS_21 <- s_UKA_MS_21 %>%
  mutate(across(c(ROW, DIRECTION, SURROUNDING, BLOCK, TREATMENT), 
                as.factor),
         DATE = as.Date(DATE),
         TOTAL_SPIDERS = rowSums(across("Oedothorax.apicatus":last_col()), na.rm = TRUE))

s2_UKA_MS_21 <- s1_UKA_MS_21 %>%
  gather("SPIDER","COUNT","unidentifiable":last_col()) %>%
  mutate(SPIDER = as.factor(SPIDER))

s3_UKA_MS_21 <- subset(s2_UKA_MS_21, DATE < "2021-07-31") %>% 
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch") %>%
  group_by(DATE,BLOCK,TREATMENT,SPIDER) %>% 
  summarise(x_mean = mean(COUNT, na.rm = T))

sx_UKA_MS_21 <- s2_UKA_MS_21 %>% 
  group_by(SPIDER) %>% 
  summarise(sum = sum(COUNT, na.rm = T))

s4_UKA_MS_21 <- s3_UKA_MS_21 %>% 
  group_by(BLOCK,TREATMENT,SPIDER) %>% 
  summarise(sum = sum(x_mean,na.rm = T))

ts4_UKA_MS_21 <- s4_UKA_MS_21 %>% 
  filter(SPIDER %in% spiders) %>%
  group_by(TREATMENT,SPIDER) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum)) %>%
  ungroup() %>%
  group_by(SPIDER) %>%
  filter(any(mean > 0)) %>%
  ungroup()

s5_UKA_MS_21 <- s3_UKA_MS_21 %>% 
  filter(SPIDER %in% "TOTAL_SPIDERS") %>%
  group_by(BLOCK,TREATMENT,DATE) %>% 
  summarise(sum = sum(x_mean,na.rm = T))

ts5_UKA_MS_21 <- s5_UKA_MS_21 %>% 
  group_by(TREATMENT,DATE) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum))

s6_UKA_MS_21 <- subset(s2_UKA_MS_21, DATE > "2021-07-31") %>% 
  group_by(DATE,BLOCK,TREATMENT,SPIDER) %>% 
  summarise(x_mean = mean(COUNT, na.rm = T))

s7_UKA_MS_21 <- s6_UKA_MS_21 %>% 
  group_by(BLOCK,TREATMENT,SPIDER) %>% 
  summarise(sum = sum(x_mean,na.rm = T))

ts7_UKA_MS_21 <- s7_UKA_MS_21 %>% 
  filter(SPIDER %in% spiders) %>%
  group_by(TREATMENT,SPIDER) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum)) %>%
  ungroup() %>%
  group_by(SPIDER) %>%
  filter(any(mean > 0)) %>%
  ungroup()

surr_spider_MS_21 <- subset(s2_UKA_MS_21, DATE < "2021-07-31" & 
                              SPIDER %in% spiders &
                              TREATMENT %in% c("WT", "S")) %>%
  group_by(DATE,BLOCK,TREATMENT,SURROUNDING) %>% 
  summarise(sum = sum(COUNT)) %>%
  group_by(TREATMENT,SURROUNDING,BLOCK) %>%
  summarise(mean = mean(sum, na.rm = T)) %>%
  group_by(TREATMENT,SURROUNDING) %>% 
  summarise(t_mean = mean(mean, na.rm = T),
            se = sd(mean, na.rm = T)/sqrt(length(mean)),
            n = length(mean))

surr_spec_spider_MS_21 <- subset(s2_UKA_MS_21, DATE < "2021-07-31" & 
                                   TREATMENT %in% c("WT", "S") &
                                   SPIDER %in% spiders) %>%
  group_by(BLOCK,TREATMENT,SURROUNDING,SPIDER) %>% 
  summarise(mean1 = mean(COUNT, na.rm = T)) %>%
  group_by(TREATMENT,SURROUNDING,SPIDER) %>% 
  summarise(t_mean = mean(mean1, na.rm = T),
            se = sd(mean1, na.rm = T)/sqrt(length(mean1)),
            n = length(mean1))

surr_date_spider_MS_21 <- subset(s2_UKA_MS_21, DATE < "2021-07-31" & 
                                   SPIDER %in% spiders &
                                   TREATMENT %in% c("WT", "S")) %>%
  group_by(DATE,BLOCK,TREATMENT,SURROUNDING) %>% 
  summarise(sum = sum(COUNT)) %>%
  group_by(TREATMENT,SURROUNDING,DATE) %>%
  summarise(t_mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum))


# 2022 (MS)
s_UKA_MS_22<-read.csv("2022 spiders.csv",sep=";",header=T)
s1_UKA_MS_22 <- s_UKA_MS_22 %>%
  mutate(across(c(ROW, BLOCK, TREATMENT), 
                as.factor),
         DATE = as.Date(DATE),
         TOTAL_SPIDERS = rowSums(across("destroyed":last_col()), na.rm = TRUE))

s2_UKA_MS_22 <- s1_UKA_MS_22 %>%
  gather("SPIDER","COUNT","destroyed":last_col()) %>%
  mutate(SPIDER = as.factor(SPIDER))

s3_UKA_MS_22 <- s2_UKA_MS_22 %>% 
  group_by(DATE,TREATMENT,BLOCK,SPIDER) %>% 
  summarise(x_mean = mean(COUNT, na.rm = T))

sx_UKA_MS_22 <- s2_UKA_MS_22 %>% 
  group_by(SPIDER) %>% 
  summarise(sum = sum(COUNT, na.rm = T))

s4_UKA_MS_22 <- s3_UKA_MS_22 %>% 
  group_by(TREATMENT,BLOCK,SPIDER) %>% 
  summarise(sum = sum(x_mean,na.rm = T))

ts4_UKA_MS_22 <- s4_UKA_MS_22 %>% 
  filter(SPIDER %in% spiders) %>%
  group_by(TREATMENT,SPIDER) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum)) %>%
  ungroup() %>%
  group_by(SPIDER) %>%
  filter(any(mean > 0)) %>%
  ungroup()

s5_UKA_MS_22 <- s3_UKA_MS_22 %>% 
  filter(SPIDER %in% "TOTAL_SPIDERS") %>%
  group_by(BLOCK,TREATMENT,DATE) %>% 
  summarise(sum = sum(x_mean,na.rm = T))

ts5_UKA_MS_22 <- s5_UKA_MS_22 %>% 
  group_by(TREATMENT,DATE) %>% 
  summarise(mean = mean(sum, na.rm = T),
            se = sd(sum, na.rm = T)/sqrt(length(sum)),
            n = length(sum))

sx_UKA_RS_21$ID <- "RS_21"
sx_UKA_MS_21$ID <- "MS_21"
sx_UKA_MS_22$ID <- "MS_22"
merged_data <- bind_rows(sx_UKA_RS_21, sx_UKA_MS_21, sx_UKA_MS_22)
final_data <- merged_data %>%
  pivot_wider(names_from = ID, values_from = sum, values_fill = NA)


# Calculations for Table A.2 ####
summarise_s <- function(df) {
  df %>%
    group_by(SPIDER) %>%
    summarise(TOTAL_COUNT = sum(COUNT, na.rm = TRUE)) %>%
    arrange(desc(TOTAL_COUNT))
}
s2_UKA_RS_21_sum      <- summarise_s(s2_UKA_RS_21)
s2_UKA_MS_21_sum      <- summarise_s(s2_UKA_MS_21)
s2_UKA_MS_22_sum      <- summarise_s(s2_UKA_MS_22)

all_gc <- bind_rows(
  s2_UKA_RS_21  %>% dplyr::select(SPIDER, COUNT),
  s2_UKA_MS_21  %>% dplyr::select(SPIDER, COUNT),
  s2_UKA_MS_22  %>% dplyr::select(SPIDER, COUNT)
)
sum_per_species <- all_gc %>%
  group_by(SPIDER) %>%
  summarise(TOTAL_COUNT = sum(COUNT, na.rm = TRUE)) %>%
  arrange(desc(TOTAL_COUNT))
sum_per_species

# Calculations for results and GLMM ####
a <- s2_UKA_RS_21 %>%
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch",
         SPIDER == "TOTAL_SPIDERS") %>%
  group_by(TREATMENT,BLOCK) %>%
  summarise(mean = mean(COUNT, na.rm = T))
a_sum <- a %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(mean))
a_sum
9.5/7.56
14.3/7.56
M.p <- glmmTMB(mean ~ TREATMENT + (1 | BLOCK), 
               family = "gaussian", 
               data = a)
summary(M.p)
M.p_simout <- simulateResiduals(M.p, n = 1000)
testDispersion(M.p_simout)
plot(M.p_simout, quantreg = FALSE) 
summary(glht(M.p, mcp(TREATMENT = "Dunnett"))) 


b <- s2_UKA_MS_21 %>%
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch",
         SPIDER == "TOTAL_SPIDERS") %>%
  group_by(TREATMENT,BLOCK) %>%
  summarise(mean = mean(COUNT, na.rm = T))
b_sum <- b %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(mean))
b_sum
8.83/4.58
4.5/4.58
M.p <- glmmTMB(mean ~ TREATMENT + (1 | BLOCK), 
               family = "gaussian", 
               data = b)
summary(M.p)
M.p_simout <- simulateResiduals(M.p, n = 1000)
testDispersion(M.p_simout)
plot(M.p_simout, quantreg = FALSE) 
summary(glht(M.p, mcp(TREATMENT = "Dunnett"))) 


c <- s2_UKA_MS_22 %>%
  filter(SPIDER == "TOTAL_SPIDERS") %>%
  group_by(TREATMENT,BLOCK) %>%
  summarise(mean = mean(COUNT, na.rm = T))
c_sum <- c %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(mean))
c_sum
13.7/10.5
22.6/10.5
M.p <- glmmTMB(mean ~ TREATMENT + (1 | BLOCK), 
               family = "gaussian", 
               data = c)
summary(M.p)
M.p_simout <- simulateResiduals(M.p, n = 1000)
testDispersion(M.p_simout)
plot(M.p_simout, quantreg = FALSE) 
summary(glht(M.p, mcp(TREATMENT = "Dunnett"))) 


s2_UKA_RS_21 %>%
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch") %>%  
  filter(SPIDER == "Erigone.dentipalpis") %>%
  group_by(TREATMENT) %>%
  summarise(SUM_COUNT = mean(COUNT, na.rm = T))
3.77/1.67
6.20/1.67

s2_UKA_MS_21 %>%
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch") %>%  
  filter(SPIDER == "Erigone.dentipalpis") %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(COUNT, na.rm = T))
4.58/2.18
2.90/2.18

s2_UKA_MS_22 %>%
  filter(SPIDER == "Erigone.dentipalpis") %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(COUNT, na.rm = T))
7/3.33
8/3.33


s2_UKA_RS_21 %>%
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch") %>%  
  filter(SPIDER == "Erigone.atra") %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(COUNT, na.rm = T))
0.923/0.6
1.67/0.6

s2_UKA_MS_21 %>%
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch") %>%  
  filter(SPIDER == "Erigone.atra") %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(COUNT, na.rm = T))
1.17/0.364
0.80/0.364

s2_UKA_MS_22 %>%
  filter(SPIDER == "Erigone.atra") %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(COUNT, na.rm = T))
0.75/0.0667
0.875/0.0667


s2_UKA_RS_21 %>%
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch") %>%  
  filter(SPIDER == "Pardosa.agrestis") %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(COUNT, na.rm = T))
0.267/0.133
0.308/0.133

s2_UKA_MS_21 %>%
  filter(DATE < "2021-07-31",
         !(TREATMENT %in% c("WT","S")) | SURROUNDING == "mulch") %>%  
  filter(SPIDER == "Pardosa.agrestis") %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(COUNT, na.rm = T))
0.0/0.0909
0.167/0.0909

s2_UKA_MS_22 %>%
  filter(SPIDER == "Pardosa.agrestis") %>%
  group_by(TREATMENT) %>%
  summarise(mean = mean(COUNT, na.rm = T))
0.438/0.133
0.188/0.133


# Catch by date plots ####

# 2021 RundS - A
sampling_A <- tribble(
  ~sampling, ~start_date, ~end_date,
  "no sampling / identification", "2021-06-04", "2021-06-14",
  "sampling / identification", "2021-06-14", "2021-06-17",
  "no sampling / identification", "2021-06-17", "2021-07-07",
  "sampling / identification", "2021-07-07", "2021-07-12",
  "no sampling / identification", "2021-07-12", "2021-07-16")
sampling_A <- sampling_A %>%
  mutate(start_date = as.POSIXct(start_date),
         end_date = as.POSIXct(end_date))
ts5_UKA_RS_21 <- ts5_UKA_RS_21 %>%
  mutate(DATE = as.POSIXct(DATE))

ggplot() +
  geom_col(data = ts5_UKA_RS_21, aes(x=DATE-hours(2), y=mean, fill=TREATMENT),
           position="dodge",width = 140000) +
  geom_segment(data = sampling_A, aes(color = sampling, x=start_date+hours(1), 
                                      xend=end_date-hours(1), y=-1, yend=-1), 
               linewidth = 0.7) +
  geom_errorbar(data = ts5_UKA_RS_21, aes(ymin = mean - se, ymax = mean + se,
                                         x=DATE-hours(2), y=mean, fill=TREATMENT), 
                width = 45000, position = position_dodge(140000)) +
  labs(title = "spiders - trial 2021a", 
       x = "", y = "mean catch per trap") +
  scale_fill_manual(name = "treatments:",
                    values =c("#EE6677","#4477AA","#CCBB44"),
                    labels = c("control","straw","triticale/vetch")) +
  scale_color_manual(name = NULL,
                     values = c("cadetblue3","darkgreen")) +
  theme_light() +
  theme(
    axis.text.x = element_text(size = 10),
    axis.text.y = element_text(size = 10),
    legend.title = element_text(size = 10),
    legend.text = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90, vjust = 0.5),
    plot.title = element_text(hjust = 0.98, size = 11, vjust = 0),
    legend.position = "none",
    panel.grid.minor.x = element_blank(),
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    plot.margin = margin(b = -5, r=10)) +
  scale_x_datetime(breaks = breaks_2021, 
                   date_labels = "%d %b",
                   limits = as.POSIXct(c("2021-06-04","2021-07-17"))) +
  scale_y_continuous(
    breaks = seq(0, 100, by = 10),
    limits = c(-2, NA),
    expand = expansion(mult = c(0, 0.02)))

ggsave(filename = "Spider Dates - trial 2021a.pdf",
       width = 17, height = 4.35, units = "cm")


# 2021 MS - B
sampling_B <- tribble(
  ~sampling, ~start_date, ~end_date,
  "no sampling / identification", "2021-06-04", "2021-06-15",
  "sampling / identification", "2021-06-15", "2021-06-18",
  "no sampling / identification", "2021-06-18", "2021-07-12",
  "sampling / identification", "2021-07-12", "2021-07-16")
sampling_B <- sampling_B %>%
  mutate(start_date = as.POSIXct(start_date),
         end_date = as.POSIXct(end_date))
ts5_UKA_MS_21 <- ts5_UKA_MS_21 %>%
  mutate(DATE = as.POSIXct(DATE))

ggplot() +
  geom_col(data = ts5_UKA_MS_21, aes(x=DATE-hours(2), y=mean, fill=TREATMENT),
           position="dodge",width = 140000) +
  geom_segment(data = sampling_B, aes(color = sampling, x=start_date+hours(1), 
                                      xend=end_date-hours(1), y=-1, yend=-1), 
               linewidth = 0.7) +
  geom_errorbar(data = ts5_UKA_MS_21, aes(ymin = mean - se, ymax = mean + se,
                                          x=DATE-hours(2), y=mean, fill=TREATMENT), 
                width = 45000, position = position_dodge(140000)) +
  labs(title = "spiders - trial 2021b", 
       x = "", y = "mean catch per trap") +
  scale_fill_manual(name = "treatments:",
                    values =c("#EE6677","#4477AA","#CCBB44"),
                    labels = c("control","straw","triticale/vetch")) +
  scale_color_manual(name = NULL,
                     values = c("cadetblue3","darkgreen")) +
  theme_light() +
  theme(
    axis.text.x = element_text(size = 10),
    axis.text.y = element_text(size = 10),
    legend.title = element_text(size = 10),
    legend.text = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90, vjust = 0.5),
    plot.title = element_text(hjust = 0.98, size = 11, vjust = 0),
    legend.position = "none",
    panel.grid.minor.x = element_blank(),
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    plot.margin = margin(b = -5, r=10)) +
  scale_x_datetime(breaks = breaks_2021, 
                   date_labels = "%d %b",
                   limits = as.POSIXct(c("2021-06-04","2021-07-17"))) +
  scale_y_continuous(
    breaks = seq(0, 100, by = 10),
    limits = c(-2, 26),
    expand = expansion(mult = c(0, 0.02)))

ggsave(filename = "Spider Dates - trial 2021b.pdf",
       width = 17, height = 3.5, units = "cm")


# 2022 MS - C
sampling_C <- tribble(
  ~sampling, ~start_date, ~end_date,
  "no sampling / identification", "2022-06-04", "2022-06-10",
  "sampling / identification", "2022-06-10", "2022-06-13",
  "no sampling / identification", "2022-06-13", "2022-07-07",
  "sampling / identification", "2022-07-07", "2022-07-11",
  "no sampling / identification", "2022-07-11", "2022-07-16")
sampling_C <- sampling_C %>%
  mutate(start_date = as.POSIXct(start_date),
         end_date = as.POSIXct(end_date))
ts5_UKA_MS_22 <- ts5_UKA_MS_22 %>%
  mutate(DATE = as.POSIXct(DATE))

new_row <- data.frame(
  TREATMENT = "S",
  DATE = as.POSIXct("2022-06-04 00:00:00", tz = "UTC"),
  mean = 0,
  se = 0,
  n = 0)
ts5_UKA_MS_22_dummy <- rbind(ts5_UKA_MS_22, new_row)


ggplot() +
  geom_col(data = ts5_UKA_MS_22_dummy, aes(x=DATE-hours(2), y=mean, fill=TREATMENT),
           position="dodge",width = 140000) +
  geom_segment(data = sampling_C, aes(color = sampling, x=start_date+hours(1), 
                                      xend=end_date-hours(1), y=-1, yend=-1), 
               linewidth = 0.7) +
  geom_errorbar(data = ts5_UKA_MS_22_dummy, aes(ymin = mean - se, ymax = mean + se,
                                          x=DATE-hours(2), y=mean, fill=TREATMENT), 
                width = 45000, position = position_dodge(140000)) +
  labs(title = "spiders - trial 2022", 
       x = "", y = "mean catch per trap") +
  scale_fill_manual(name = NULL,
                    values =c("#EE6677","#4477AA","#228833","#CCBB44"),
                    labels = c("control","straw","silage","triticale/vetch"), 
                    drop = FALSE) +
  scale_color_manual(name = NULL,
                     values = c("cadetblue3","darkgreen")) +
  theme_light() +
  theme(
    axis.text.x = element_text(size = 10),
    axis.text.y = element_text(size = 10),
    legend.text = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90, vjust = 0.5),
    plot.title = element_text(hjust = 0.98, size = 11, vjust = 0),
    panel.grid.minor.x = element_blank(),
    legend.position = "bottom",
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    plot.margin = margin(b = -5, r=10),
    legend.box.margin = margin(t = -8, unit = "mm")) +
  scale_x_datetime(breaks = breaks_2022, 
                   date_labels = "%d %b",
                   limits = as.POSIXct(c("2022-06-04","2022-07-17"))) +
  scale_y_continuous(
    breaks = seq(0, 100, by = 10),
    limits = c(-2, NA),
    expand = expansion(mult = c(0, 0.02))) + 
  guides(fill = guide_legend(nrow = 2),
         color = guide_legend(nrow = 2))

ggsave(filename = "Spider Dates - trial 2022.pdf",
       width = 17, height = 6.5, units = "cm")


# Total catch by species plots ####

# 2021 RundS
trt_order_car3 <- c('C', 'S', 'WT')
ggplot(ts7_UKA_RS_21, aes(x = SPIDER, y = mean, fill = factor(TREATMENT, levels = trt_order_car3))) +
  geom_bar(position = "dodge", stat = "identity", width = 0.6) +
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = 0.1, 
                position = position_dodge(0.6)) +
  labs(x = "", y = "mean catch sums per trap", 
       title = "spiders - trial 2021a - June/July") +
  scale_fill_manual(name = "treatments:",
                    values =c("#EE6677","#4477AA","#CCBB44"),
                    labels = c("control", "straw","triticale/vetch")) +
  theme_light() +
  scale_x_discrete(labels = spider_labels) +
  theme(
    axis.text.x = element_text(size = 8.5, angle = 45, hjust = 1, lineheight = 0.75),
    axis.text.y = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90),
    plot.title = element_text(hjust = 0.95, size = 11, vjust = 0),
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    legend.position = "none",
    plot.margin = margin(b = -11, r = 1)) +
  scale_y_continuous(
    limits = c(-0.2, 18),
    breaks = seq(0, 17.5, by = 2.5),
    expand = c(0, 0))
ggsave(filename = "Spider Species - trial 2021a.pdf",
       width = 7.6, height = 7, units = "cm")

# 2021 MS
trt_order_car3 <- c('C', 'S', 'WT')
ggplot(ts4_UKA_MS_21, aes(x = SPIDER, y = mean, fill = factor(TREATMENT, levels = trt_order_car3))) +
  geom_bar(position = "dodge", stat = "identity", width = 0.6) +
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = 0.1, 
                position = position_dodge(0.6)) +
  labs(x = "", y = "mean catch sums per trap", 
       title = "spiders - trial 2021b - June/July") +
  scale_fill_manual(name = "treatments:",
                    values =c("#EE6677","#4477AA","#CCBB44"),
                    labels = c("control", "straw","triticale/vetch")) +
  theme_light() +
  scale_x_discrete(labels = spider_labels) +
  theme(
    axis.text.x = element_text(size = 8.5, angle = 45, hjust = 1, lineheight = 0.75),
    axis.text.y = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90),
    plot.title = element_text(hjust = 0.95, size = 11, vjust = 0),
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    legend.position = "none",
    plot.margin = margin(b = -11, r = 1)) +
  scale_y_continuous(
    limits = c(-0.2, 18),
    breaks = seq(0, 17.5, by = 2.5),
    expand = c(0, 0))
ggsave(filename = "Spider Species - trial 2021b.pdf",
       width = 7.6, height = 7, units = "cm")

# 2022 MS
trt_order_car4 <- c('C', 'SIL', 'WT')
ggplot(ts4_UKA_MS_22, aes(x = SPIDER, y = mean, fill = factor(TREATMENT, levels = trt_order_car4))) +
  geom_bar(position = "dodge", stat = "identity", width = 0.6) +
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = 0.1, 
                position = position_dodge(0.6)) +
  labs(x = "", y = "mean catch sums per trap", 
       title = "spiders - trial 2022 - June/July") +
  scale_fill_manual(name = "treatments:",
                    values =c("#EE6677","#228833","#CCBB44"),
                    labels = c("control", "silage", "triticale/vetch")) +
  theme_light() +
  scale_x_discrete(labels = spider_labels) +
  theme(
    axis.text.x = element_text(size = 8.5, angle = 45, hjust = 1, lineheight = 0.75),
    axis.text.y = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90),
    plot.title = element_text(hjust = 0.95, size = 11, vjust = 0),
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    legend.position = "none",
    plot.margin = margin(b = -11, r = 1)) +
  scale_y_continuous(
    limits = c(-0.2, 18),
    breaks = seq(0, 17.5, by = 2.5),
    expand = c(0, 0))
ggsave(filename = "Spider Species - trial 2022.pdf",
       width = 7.6, height = 7, units = "cm")


# 2021 RundS September
ggplot(ssfa1_UKA_RS_21, aes(x = SPIDER, y = mean, fill = factor(TREATMENT, levels = trt_order_car3))) +
  geom_bar(position = "dodge", stat = "identity", width = 0.6) +
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = 0.1, 
                position = position_dodge(0.6)) +
  labs(x = "", y = "mean catch sums per trap", 
       title = "spiders - trial 2021a - early September") +
  scale_fill_manual(name = "treatments:",
                    values =c("#EE6677","#4477AA","#CCBB44"),
                    labels = c("control", "straw","triticale/vetch")) +
  theme_light() +
  scale_x_discrete(labels = spider_labels) +
  theme(
    axis.text.x = element_text(size = 8.5, angle = 45, hjust = 1, lineheight = 0.75),
    axis.text.y = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90),
    plot.title = element_text(hjust = 0.95, size = 10, vjust = 0),
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    plot.margin = margin(b = -11, r = 1),
    legend.position = "none") +
  scale_y_continuous(
    limits = c(-0.1, 9),
    breaks = seq(0, 8, by = 2),
    expand = c(0, 0))
ggsave(filename = "Spider Species - trial 2021a - September.pdf",
       width = 7.6, height = 6.1, units = "cm")


# 2021 RS October
ggplot(ssfa2_UKA_RS_21, aes(x = SPIDER, y = mean, fill = factor(TREATMENT, levels = trt_order_car3))) +
  geom_bar(position = "dodge", stat = "identity", width = 0.6) +
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = 0.1, 
                position = position_dodge(0.6)) +
  labs(x = "", y = "mean catch sums per trap", 
       title = "spiders - trial 2021a - October (after harvest)") +
  scale_fill_manual(name = "treatments:",
                    values =c("#EE6677","#4477AA","#CCBB44"),
                    labels = c("control", "straw","triticale/vetch")) +
  theme_light() +
  scale_x_discrete(labels = spider_labels) +
  theme(
    axis.text.x = element_text(size = 8.5, angle = 45, hjust = 1, lineheight = 0.75),
    axis.text.y = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90),
    plot.title = element_text(hjust = 0.95, size = 10, vjust = 0),
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    plot.margin = margin(b = -11, r = 1),
    legend.position = "none") +
  scale_y_continuous(
    limits = c(-0.1, 9),
    breaks = seq(0, 8, by = 2),
    expand = c(0, 0))
ggsave(filename = "Spider Species - trial 2021a - October.pdf",
       width = 7.6, height = 6.1, units = "cm")


# 2021 MS August
ggplot(ts7_UKA_MS_21, aes(x = SPIDER, y = mean, fill = factor(TREATMENT, levels = trt_order_car3))) +
  geom_bar(position = "dodge", stat = "identity", width = 0.6) +
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = 0.1, 
                position = position_dodge(0.6)) +
  labs(x = "", y = "mean catch sums per trap", 
       title = "spiders - trial 2021b - late August") +
  scale_fill_manual(name = "treatments:",
                    values =c("#EE6677","#4477AA","#CCBB44"),
                    labels = c("control", "straw", "triticale/vetch")) +
  theme_light() +
  scale_x_discrete(labels = spider_labels) +
  theme(
    axis.text.x = element_text(size = 8.5, angle = 45, hjust = 1, lineheight = 0.75),
    axis.text.y = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90),
    plot.title = element_text(hjust = 0.98, size = 10, vjust = 0),
    panel.border = element_rect(colour = "lightgray", linewidth = 0.5),
    plot.margin = margin(b = -11, r = 1),
    legend.position = "none") +
  scale_y_continuous(
    limits = c(-0.1, 9),
    breaks = seq(0, 8, by = 2),
    expand = c(0, 0))
ggsave(filename = "Spider Species - trial 2021b - August.pdf",
       width = 7.6, height = 6.1, units = "cm")


# Surroundings ####

combined_surr_s <- bind_rows(surr_spec_spider_RS_21, surr_spec_spider_MS_21, 
                           .id = "TRIAL") %>%
  mutate(TRIAL = case_when(
    TRIAL == "1" ~ "A",
    TRIAL == "2" ~ "B")) %>%
  mutate(TRIAL_TREATMENT = paste(TRIAL,TREATMENT,sep = "_"))
names3 <- c(
  `A_WT` = "spiders\ntrial 2021a - triticale/vetch",
  `B_S` = "spiders\ntrial 2021b - straw",
  `B_WT` = "spiders\ntrial 2021b - triticale/vetch"
)

ggplot(combined_surr_s, aes(x = SPIDER, y = t_mean, fill = SURROUNDING)) +
  geom_bar(position = "dodge", stat = "identity", width = 0.6) +
  geom_errorbar(aes(ymin = t_mean - se, ymax = t_mean + se), 
                width = 0.1, position = position_dodge(0.6)) +
  labs(x = "", y = "mean catch sums per trap") +
  scale_fill_manual(name = "surrounding:",
                    values =c("#1B9E77","#E7298A"),
                    labels = c("mulch","no mulch"))+
  scale_x_discrete(labels = spider_labels) +
  theme_light() +
  theme(
    axis.text.x = element_text(size = 7.5, angle = 45, hjust = 1, lineheight = 0.7),
    axis.text.y = element_text(size = 10),
    axis.title.y = element_text(size = 10, angle = 90),
    plot.title = element_text(hjust = 0.98, size = 9, vjust = 0),
    plot.margin = margin(b = -11, r = 1),
    strip.text = element_text(
      size = 10,
      color = "black"),
    strip.background = element_rect(
      fill = "gray90",
      color = "gray70"),
    legend.position = "none") +
  facet_grid(.~TRIAL_TREATMENT, labeller = as_labeller(names3))

ggsave(filename = "Surrounding - spider species.pdf",
       width = 17, height = 9, units = "cm")