library(tidyverse) setwd("...") Conflict<-read_csv("Input_data_final.csv") nrow(filter(Conflict,Type=="A_Mammal")) nrow(filter(Conflict,Type=="A_Mammal",Conf_area_all>0)) nrow(filter(Conflict,Type=="B_Bird")) nrow(filter(Conflict,Type=="B_Bird",Conf_area_all>0)) Table_all<-Conflict%>% group_by(Type,Range_cut,Years_cut)%>%summarise(Count_all=n()) Table_br<-Conflict%>%filter(Type=="B_Bird")%>%select(Type,Br_Range_cut,Br_Years_cut)%>% rename(Range_cut=Br_Range_cut,Years_cut=Br_Years_cut)%>% group_by(Type,Range_cut,Years_cut)%>%summarise(Count_br=n()) Table_threatened<-Conflict%>%filter(RL_reclass=="A_Threatened")%>% group_by(Type,Range_cut,Years_cut)%>%summarise(Count_threatened=n()) Conflict_trop<-Conflict%>%filter(Cent_Y>-35,Cent_Y<35) Trop_all<-Conflict_trop%>% group_by(Type,Range_cut,Years_cut)%>%summarise(Count_trop_all=n()) Trop_br<-Conflict_trop%>%filter(Type=="B_Bird")%>%select(Type,Br_Range_cut,Br_Years_cut)%>% rename(Range_cut=Br_Range_cut,Years_cut=Br_Years_cut)%>% group_by(Type,Range_cut,Years_cut)%>%summarise(Count_trop_br=n()) Trop_threatened<-Conflict_trop%>%filter(RL_reclass=="A_Threatened")%>% group_by(Type,Range_cut,Years_cut)%>%summarise(Count_trop_threatened=n()) IUCN_war<-Conflict%>% group_by(Type,Range_cut,Years_cut)%>%summarise(IUCN_war=sum(War)) #TableS1 TableS1<-Table_all%>%left_join(Table_br)%>% left_join(Table_threatened)%>% left_join(Trop_all)%>%left_join(Trop_br)%>%left_join(Trop_threatened)%>% left_join(IUCN_war) #Function for Figure 2 (heat_maps) Heatmap_template<-tibble(Range_class=sort(rep(0:9,10)), Years_class=rep(0:9,10)) HEATMAP<-function(X){ Count_summary<-X%>%group_by(Type,Range_class,Years_class)%>% summarise(Counts=n())%>% ungroup()%>% select(Range_class:Counts) Heatmap_input<-Heatmap_template%>% left_join(Count_summary,by=c("Range_class","Years_class"))%>% mutate(Counts=replace_na(Counts,0), logCounts=log(Counts+1)) Legend_range<-c(0,max(Heatmap_input$logCounts)/2,max(Heatmap_input$logCounts)) P1<-ggplot(Heatmap_input)+ geom_tile(mapping=aes(x=as.factor(Range_class),y=as.factor(Years_class),fill=logCounts))+ scale_fill_viridis_c(breaks=Legend_range,labels=floor(exp(Legend_range)-1))+ labs(fill=element_blank())+ scale_x_discrete(labels=c("0-10","11-20","21-30","31-40","41-50","51-60", "61-70","71-80","81-90","91-100"), name="Range %")+ scale_y_discrete(labels=c("0-10","11-20","21-30","31-40","41-50","51-60", "61-70","71-80","81-90","91-100"), name="Years %")+ theme_classic(base_size = 24)+ theme(axis.text.x = element_text(angle = 90))+ geom_hline(yintercept = 5.5,color="white",lty=2)+ geom_vline(xintercept = 5.5,color="white",lty=2) return(P1) } Subset_mammal<-Conflict%>% filter(Type=="A_Mammal") Fig_2a<-HEATMAP(Subset_mammal) Subset_bird<-Conflict%>% filter(Type=="B_Bird") Fig_2b<-HEATMAP(Subset_bird) Subset_mammal_threatened<-Conflict%>% filter(Type=="A_Mammal",RL_reclass=="A_Threatened") Fig_2c<-HEATMAP(Subset_mammal_threatened) Subset_bird_threatened<-Conflict%>% filter(Type=="B_Bird",RL_reclass=="A_Threatened") Fig_2d<-HEATMAP(Subset_bird_threatened) # Population declines POP_GLM<-function(X){ Mod<-glm(Pop_decline~Recent_conflict,family=binomial,data=X) Pred<-tibble(Recent_conflict=c("A_Yes","B_No")) Pred<-Pred%>% mutate(Resp=paste(unique(X$Type),unique(X$RL_reclass),sep="_"), Fit=100*predict(Mod,Pred,se.fit=T,type='response')$fit, SEfit=100*predict(Mod,Pred,se.fit=T,type='response')$se.fit, #sig=summary(Mod)$coefficients[8], Sig=rep(ifelse(summary(Mod)$coefficients[8]<0.05,'Y','N')))%>% mutate(low=Fit-(1.96*SEfit),high=Fit+(1.96*SEfit), Text=paste0(round(Fit,2)," (",round(low,2)," - ",round(high,2),")"))%>% select(Resp,Recent_conflict,Text,Sig)#,sig) return(Pred) } #Pop declines -- all species Mammal_T<-Conflict%>% filter(Type=="A_Mammal",RL_reclass=="A_Threatened")%>% POP_GLM(.) Mammal_notT<-Conflict%>% filter(Type=="A_Mammal",RL_reclass=="B_Other")%>% POP_GLM(.) Bird_T<-Conflict%>% filter(Type=="B_Bird",RL_reclass=="A_Threatened")%>% POP_GLM(.) Bird_notT<-Conflict%>% filter(Type=="B_Bird",RL_reclass=="B_Other")%>% POP_GLM(.) TableS2a<-rbind(Mammal_T,Mammal_notT,Bird_T,Bird_notT) Pop_samplesize_all<-Conflict%>%group_by(Type,RL_reclass)%>% summarise(n()) Pop_samplesize_trop<-Conflict%>%filter(Cent_Y>-35,Cent_Y<35)%>% group_by(Type,RL_reclass)%>% summarise(n()) #Pop declines -- tropics/sub-tropics only Trop_Mammal_T<-Conflict%>% filter(Type=="A_Mammal",RL_reclass=="A_Threatened",Cent_Y>-35,Cent_Y<35)%>% POP_GLM(.) Trop_Mammal_notT<-Conflict%>% filter(Type=="A_Mammal",RL_reclass=="B_Other",Cent_Y>-35,Cent_Y<35)%>% POP_GLM(.) Trop_Bird_T<-Conflict%>% filter(Type=="B_Bird",RL_reclass=="A_Threatened",Cent_Y>-35,Cent_Y<35)%>% POP_GLM(.) Trop_Bird_notT<-Conflict%>% filter(Type=="B_Bird",RL_reclass=="B_Other",Cent_Y>-35,Cent_Y<35)%>% POP_GLM(.) TableS2b<-rbind(Trop_Mammal_T,Trop_Mammal_notT,Trop_Bird_T,Trop_Bird_notT) TableS2<-rbind(TableS2a,TableS2b)%>% mutate(Region=c(rep("Overall",8),rep("Trop/Sub-trop",8))) Pop_dec<-Conflict%>% group_by(Type,Recent_conflict,RL_reclass)%>% summarise(Counts=n(), Declines=sum(Pop_decline,na.rm=T))%>% mutate(Bar_class=paste(Type,RL_reclass,sep="_"), Percent_decline=100*Declines/Counts)%>% ungroup() # Pop declines -- Figure Fig_3<-ggplot(Pop_dec)+ geom_bar(mapping=aes(x=Bar_class,y=Percent_decline,fill=Recent_conflict), position="dodge",stat="identity")+ labs(x="Extinction risk",y="Species %",fill="Conflict")+ ylim(0,100)+ scale_x_discrete(labels=c("Threatened","Other","Threatened","Other"))+ scale_fill_manual(labels=c("Present","Absent"),values = c('dark blue','khaki3'))+ geom_vline(xintercept = 2.5,linetype='dashed' )+ theme_classic(base_size = 24) #Threats THREAT_GLM<-function(x){ Mod<-glm(formula=as.formula(x),family=quasibinomial,data=Input) Frame<-tibble(Recent_conflict=c('A_Yes','B_No')) Frame<-Frame%>% mutate(Type=unique(Input$Type), Response=rep(x,nrow(Frame)), Fit=100*predict(Mod,Frame,se.fit=T,type='response')$fit, CIfit=100*1.96*predict(Mod,Frame,se.fit=T,type='response')$se.fit, Pval=summary(Mod)$coefficients[8], Sig=ifelse(Pval<0.05,'Y','N'), MeanCI=paste(round(Fit,2)," (",round(Fit,2)-round(CIfit,2)," - ",round(Fit,2)+round(CIfit,2), ")",sep=""))%>% select(Type,Response,Pval,Sig,Recent_conflict,MeanCI)%>% pivot_wider(id_cols = Type:Sig, names_from=Recent_conflict,values_from=MeanCI) return(Frame) } formula_glm<-c('T01_Development~Recent_conflict','T02_Agriculture~Recent_conflict', 'T03_Energy~Recent_conflict','T04_Transport~Recent_conflict', 'T05_Exploitation~Recent_conflict','T06_Disturbance~Recent_conflict', 'T07_System~Recent_conflict','T08_Disease~Recent_conflict', 'T09_Pollution~Recent_conflict','T10_Geological~Recent_conflict', 'T11_Climate~Recent_conflict','T12_Other~Recent_conflict') Input<-filter(Conflict,Type=="A_Mammal")%>% drop_na(T01_Development) Threat_mammal<-map_dfr(formula_glm,THREAT_GLM) Input<-filter(Conflict,Type=="B_Bird")%>% drop_na(T01_Development) Threat_bird<-map_dfr(formula_glm,THREAT_GLM) TableS3a<-rbind(Threat_mammal,Threat_bird)%>% mutate(Category="All") Input<-filter(Conflict,Type=="A_Mammal",RL_reclass=="A_Threatened")%>% drop_na(T01_Development) Threat_threatened_mammal<-map_dfr(formula_glm,THREAT_GLM) Input<-filter(Conflict,Type=="B_Bird",RL_reclass=="A_Threatened")%>% drop_na(T01_Development) Threat_threatened_bird<-map_dfr(formula_glm,THREAT_GLM) TableS3b<-rbind(Threat_threatened_mammal,Threat_threatened_bird)%>% mutate(Category="Threatened") Input<-filter(Conflict,Type=="A_Mammal",Cent_Y>-35,Cent_Y<35)%>% drop_na(T01_Development) Threat_tropic_mammal<-map_dfr(formula_glm,THREAT_GLM) Input<-filter(Conflict,Type=="B_Bird",Cent_Y>-35,Cent_Y<35)%>% drop_na(T01_Development) Threat_tropic_bird<-map_dfr(formula_glm,THREAT_GLM) TableS3c<-rbind(Threat_tropic_mammal,Threat_tropic_bird)%>% mutate(Category="All_Tropics") Input<-filter(Conflict,Type=="A_Mammal",RL_reclass=="A_Threatened",Cent_Y>-35,Cent_Y<35)%>% drop_na(T01_Development) Threat_threatened_tropic_mammal<-map_dfr(formula_glm,THREAT_GLM) Input<-filter(Conflict,Type=="B_Bird",RL_reclass=="A_Threatened",Cent_Y>-35,Cent_Y<35)%>% drop_na(T01_Development) Threat_threatened_tropic_bird<-map_dfr(formula_glm,THREAT_GLM) TableS3d<-rbind(Threat_threatened_tropic_mammal,Threat_threatened_tropic_bird)%>% mutate(Category="Threatened_Tropics") TableS3<-rbind(TableS3a,TableS3b,TableS3c,TableS3d) Threat_sampleSize_all<-Conflict%>% drop_na(T01_Development)%>% group_by(Type,RL_reclass)%>% summarise(n()) Threat_sampleSize_trop<-Conflict%>% drop_na(T01_Development)%>% filter(Cent_Y>-35,Cent_Y<35)%>% group_by(Type,RL_reclass)%>% summarise(n()) #Figure -- threat portfolio Threats_all<-Conflict%>% group_by(Type, Recent_conflict)%>% summarise_at(vars(T01_Development:T12_Other),mean,na.rm=T)%>% pivot_longer(cols=T01_Development:T12_Other, names_to="Threat",values_to="Proportion")%>% pivot_wider(names_from =Recent_conflict,values_from=Proportion)%>% mutate(Percent_diff=100*(A_Yes-B_No), Direction=ifelse(Percent_diff<=0,'Neg','Pos'))%>% cbind(Sig=TableS3a%>%pull(Sig))%>% mutate(Col_code=paste(Direction,Sig,sep="")) Threats_threatened<-Conflict%>% filter(RL_reclass=="A_Threatened")%>% group_by(Type, Recent_conflict)%>% summarise_at(vars(T01_Development:T12_Other),mean,na.rm=T)%>% pivot_longer(cols=T01_Development:T12_Other, names_to="Threat",values_to="Proportion")%>% pivot_wider(names_from =Recent_conflict,values_from=Proportion)%>% mutate(Percent_diff=100*(A_Yes-B_No), Direction=ifelse(Percent_diff<=0,'Neg','Pos'))%>% cbind(Sig=TableS3b%>%pull(Sig))%>% mutate(Col_code=paste(Direction,Sig,sep="")) THREATS_FIGURE<-function(X){ P1<-ggplot(data=X)+ geom_bar(mapping=aes(x=rev(Threat),y=Percent_diff,fill=Col_code),stat='Identity')+ geom_abline(mapping=aes(slope=0,intercept=0))+ scale_fill_manual(values=c('grey','sky blue','grey','dark orange'))+ ylim(-14,9)+ coord_flip()+ labs(y="Threat prominence change (%)",x="")+ theme_light()+ theme(legend.position = "none")+ theme(axis.text.x=element_text(size=18),axis.title = element_text(size = 24))+ theme(axis.line.y=element_blank(),axis.ticks.y=element_blank(),axis.text.y =element_blank()) return(P1) } Fig_mammal_all<-filter(Threats_all,Type=="A_Mammal") Fig_4a<-THREATS_FIGURE(Fig_mammal_all) Fig_bird_all<-filter(Threats_all,Type=="B_Bird") Fig_4b<-THREATS_FIGURE(Fig_bird_all) Fig_mammal_threatened<-filter(Threats_threatened,Type=="A_Mammal") Fig_4c<-THREATS_FIGURE(Fig_mammal_threatened) Fig_bird_threatened<-filter(Threats_threatened,Type=="B_Bird") Fig_4d<-THREATS_FIGURE(Fig_bird_threatened)