Select Git revision
figure_2 40.74 KiB
# CREATE FIGURE 2
# load libraries
library(raster)
library(maptools)
library(mapplots)
library(scales)
library(plotrix)
library(Cairo)
library(png)
library(plyr)
library(shapes)
library(shape)
setwd("C:/bio/R_Backup/cloudforests/figures/figures_17072018")
source("pcolor_scale.R")
# SET FOLDER CONNECTIONS
INPUT <-"C:/bio/Bio_Backup/TIN R Skripte/GIT/cloudforests/data/"
OUTPUT<-"C:/bio/Bio_Backup/TIN R Skripte/GIT/cloudforests/output/"
# read in the essential files
pp <- shapefile(paste0(INPUT,"cloud_forest_regions_reshaped_aspoints.shp"))
tc <- read.csv (paste0(INPUT,"cf_statistics_newid.txt"),header=T,sep="\t")
full <- read.csv (paste0(INPUT,"vertsferns_by_cfID_speclist_101518_newid.csv"),sep=";")
tcX <- read.csv (paste0(INPUT,"cf_statistics_full_newid.csv"),sep=";")
# do some data quentching on the input files
{
CFRegCount_per_spec <- ddply(full, .(taxogroup,scientificname,cf_ass,cf_end), summarise, cfIDCount = length(na.omit(cf_id)))
CFRegCountIsOne <- subset(CFRegCount_per_spec, cfIDCount ==1)
CFSingleRegEndemicsInfo <- merge(CFRegCountIsOne, subset(full,select = c("scientificname","cf_id","CFRegionName","CFRegionContinent")),
by = "scientificname", all.x= TRUE, all.y = FALSE)
agg.cfEndemics <- ddply(CFSingleRegEndemicsInfo, .(cf_id, CFRegionName, CFRegionContinent, taxogroup), summarise,
EndSR.cf.assoc = sum(cf_ass),
EndSR.cf.restr = sum(cf_end))
agg.cfEndemics <- agg.cfEndemics[order(-agg.cfEndemics$EndSR.cf.restr),]
biodiv <- ddply(full, .(cf_id, CFRegionName, CFRegionContinent, taxogroup), summarise,
cf_ass = sum(cf_ass),
cf_end = sum(cf_end))
ends<-CFSingleRegEndemicsInfo
full <-full[,-8]
#Rends<-aggregate(full$cf_id~full$scientificname,FUN=function(x){length(x)})
#Rends<-Rends[Rends$`full$cf_id`==1,]
#ends<-full[full$scientificname %in% Rends$`full$scientificname`,]
cff<-full[,1:3]
cff<-cff[duplicated(cff)==FALSE,]
cord<-as.data.frame(pp$ID)
cord$x<-coordinates(pp)[,1]
cord$y<-coordinates(pp)[,2]
colnames(cord)<-c("cf_id","x","y")
biodiv<-merge(biodiv,cord,by.x="cf_id",by.y="cf_id")
}
namematching<-read.csv("Z:/karger/revision1/cf_namematching.csv")
# read in the pa data with all pa's
# some quentching on the pa_stat file
# file with cloud forest regions tcf extent
pa_stat<- shapefile("Z:/karger/revision1/cloud_forest_regions_reshaped [ID]_v16.shp")
pa_stat<- as.data.frame(pa_stat)
pa_stat<- pa_stat[,-(c(2,3))]
colnames(pa_stat)[1]<-"ID"
pa_stat<- aggregate(x=pa_stat[,2:37],by=list(pa_stat$ID),FUN=function(x){sum(x)})
colnames(pa_stat)[1]<-"ID"
pa_stat<- merge(namematching,pa_stat,by.x="ID_new",by.y="ID")
pa_stat<- pa_stat[,-c(1,3,4,5)]
# file with cloud forest regions intersection with pa's tcf extent including all pa years
pa_stat_all<- shapefile("Z:/karger/revision1/Intersect [cloud_forest_regions_reshaped [ID]]-[Intersect_cfRegions_IUCN_cf [ID]]_v16.shp")
pa_stat_all<- as.data.frame(pa_stat_all)
pa_stat_all<- pa_stat_all[,-(c(2:6))]
pa_stat_all1<- aggregate(x=pa_stat_all[,2:length(pa_stat_all[1,])],by=list(pa_stat_all$ID),FUN=function(x){sum(na.omit(x))})
pa_stat_mean<- aggregate(x=pa_stat_all[,2:length(pa_stat_all[1,])],by=list(pa_stat_all$ID),FUN=function(x){mean(na.omit(x))})
pa_stat_all<-pa_stat_all1
pa_stat_all[,20:length(pa_stat_all[1,])]<-pa_stat_mean[,20:length(pa_stat_mean[1,])]
colnames(pa_stat_all)[1]<-"ID"
pa_stat_all<- merge(namematching,pa_stat_all,by.x="ID_new",by.y="ID")
pa_stat_all<- pa_stat_all[,-c(1,3,4,5)]
pa_stat_un <-pa_stat[,2:19]-pa_stat_all[,2:19]
pa_stat_un$ID <-pa_stat_all$ID
pa_stat_un<-cbind(pa_stat_un[length(pa_stat_un[1,])],pa_stat_un[,2:(length(pa_stat_un[1,])-1)])
pa_stat_un_sd <-pa_stat_all[,20:37]
pa_stat_un_sd$ID <-pa_stat_all$ID
pa_stat_un_sd <-cbind(pa_stat_un_sd[length(pa_stat_un_sd[1,])],pa_stat_un_sd[,2:(length(pa_stat_un_sd[1,])-1)])
pa_stat_pa <-pa_stat_all[,2:20]
pa_stat_pa$ID <-pa_stat_all$ID
pa_stat_pa <-cbind(pa_stat_pa[length(pa_stat_pa[1,])],pa_stat_pa[,2:(length(pa_stat_pa[1,])-1)])
pa_stat_pa_sd <-pa_stat_all[,20:37]
pa_stat_pa_sd$ID <-pa_stat_all$ID
pa_stat_pa_sd <-cbind(pa_stat_pa_sd[length(pa_stat_pa_sd[1,])],pa_stat_pa_sd[,2:(length(pa_stat_pa_sd[1,])-1)])
# read in the pa data with all pas
# some quentching on the pa_stat file
#pa_stat20012016<- read.csv("Z:/karger/pa_cf_region_intersect_ohne2001_2016.txt",sep = "\t")
##### FIGURE 2 ##########################################################################################################################################################################################################
pdf(paste0(OUTPUT,"Fig2_C_R2.pdf"),height=8.5,width = 6.5)
par(oma=c(4,4,1.4,1),mfrow=c(4,3),tcl=-0.5)#,mar=c(4,4,2,0)
par(mai=c(0,0.2,0.2,0))
single_region_endemics<-ends[ends$cf_end==1,]
#### Data preparation a
{
specs<-full
specs<-merge(specs,single_region_endemics,by.x="scientificname",by.y="scientificname",all.x=T)
specs<-specs[,1:8]
colnames(specs)<-c("scientificname", "cf_id","CFRegionName", "CFRegionContinent","taxogroup", "cf_ass", "cf_end", "cf_srend")
specs$cf_srend<-as.numeric(specs$cf_srend)
specs$cf_srend[specs$cf_srend>=1]<-1
specs$cf_srend[is.na(specs$cf_srend)]<-0
specscf<-specs[specs$cf_ass==1,]
ends <-specs[specs$cf_end==1,]
srends <-specs[specs$cf_srend==1,]
specs_cont <- aggregate(specs$scientificname~specs$CFRegionContinent+specs$taxogroup,FUN=function(x) {length(unique(x))})
specs_end <- aggregate(srends$scientificname~srends$CFRegionContinent+srends$taxogroup,FUN=function(x) {length(unique(x))})
specs_cfend<- aggregate(ends$scientificname~ends$CFRegionContinent+ends$taxogroup,FUN=function(x) {length(unique(x))})
}
specs_stats<-cbind(specs_cont,specs_cfend[,3],specs_end[,3])
colnames(specs_stats)<-c("cont","taxogroup","cf_ass","cf_str","cf_end")
write.csv(specs_stats,file=paste0(OUTPUT,"spec_stats.csv"))
continents_IDS<-c("Americas","Africa","Asia-Pacific")
continents_IDS<-sort(continents_IDS)
ids<-c(2,1,3)
for (region in ids)
{
{
contID=continents_IDS[region]
colnames(specs_cont)<-c("cont","taxogroup","scientficname")
colnames(specs_end) <-c("cont","taxogroup","scientficname")
colnames(specs_cfend) <-c("cont","taxogroup","scientficname")
mammals <-specs_cont [specs_cont$cont==contID&specs_cont$taxogroup=="Mammals",]
mammals_end <-specs_end [specs_end$cont==contID&specs_end$taxogroup=="Mammals",]
mammals_cfend<-specs_cfend[specs_cfend$cont==contID&specs_cfend$taxogroup=="Mammals",]
mammals <-cbind(mammals[1,1],mammals[1,3],mammals_cfend[1,3],mammals_end[1,3])
mammals <-as.data.frame(mammals)
colnames(mammals)=c("cf_id","z_ass","z_str","z_end")
cyathea <-specs_cont[specs_cont$cont==contID&specs_cont$taxogroup=="Cyatheaceae",]
cyathea_end <-specs_end[specs_end$cont==contID&specs_end$taxogroup=="Cyatheaceae",]
cyathea_cfend<-specs_cfend[specs_cfend$cont==contID&specs_cfend$taxogroup=="Cyatheaceae",]
cyathea <-cbind(cyathea[1,1],cyathea[1,3],cyathea_cfend[1,3],cyathea_end[1,3])
cyathea <-as.data.frame(cyathea)
colnames(cyathea)=c("cf_id","z_ass","z_str","z_end")
birds <-specs_cont[specs_cont$cont==contID&specs_cont$taxogroup=="Birds",]
birds_end <-specs_end[specs_end$cont==contID&specs_end$taxogroup=="Birds",]
birds_cfend <-specs_cfend[specs_cfend$cont==contID&specs_cfend$taxogroup=="Birds",]
birds <-cbind(birds[1,1],birds[1,3],birds_cfend[1,3],birds_end[1,3])
birds <-as.data.frame(birds)
colnames(birds)=c("cf_id","z_ass","z_str","z_end")
amphies <-specs_cont[specs_cont$cont==contID&specs_cont$taxogroup=="Amphibians",]
amphies_end <-specs_end[specs_end$cont==contID&specs_end$taxogroup=="Amphibians",]
amphies_cfend<-specs_cfend[specs_cfend$cont==contID&specs_cfend$taxogroup=="Amphibians",]
amphies <-cbind(amphies[1,1],amphies[1,3],amphies_cfend[1,3],amphies_end[1,3])
amphies <-as.data.frame(amphies)
colnames(amphies)=c("cf_id","z_ass","z_str","z_end")
#plot(0,ylim=c(-8,8),xlim=c(-8,8),col="white", main=contID,frame=F,axes=F,ylab="",xlab="")
mapx<-function (xlim, ylim, xlab = "Longitude", ylab = "Latitude",
bg = "white", ...)
{
asp <- 1/cos(sum(ylim) * pi/360)
plot(NA, xlim = xlim, ylim = ylim, xlab = xlab, ylab = ylab,
asp = asp, ...)
}
mapx(c(-8,8),c(-8,8),bg="white",axes=F,ylab="",xlab="",col="white")
cols<-c(alpha("goldenrod1", 0.5), alpha("royalblue4", 0.5), alpha("darkgreen",0.5), alpha("firebrick",0.5))
n=which(mammals$cf_id==region)
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2),col=cols, labels="",label.dist = 0.5,border=FALSE)
cols<-c(alpha("darkorange1", 0.9), alpha("royalblue4", 0), alpha("darkgreen",0), alpha("firebrick",0))
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
ze<-c(mammals$z_str[n],birds$z_str[n],cyathea$z_str[n],amphies$z_str[n])
ze[is.na(ze)]<-0.1
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2)*p[1],col=cols, labels="",border=FALSE)
cols<-c(alpha("black", 0.9), alpha("royalblue4", 0), alpha("darkgreen",0), alpha("firebrick",0))
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
ze<-c(mammals$z_end[n],birds$z_end[n],cyathea$z_end[n],amphies$z_end[n])
zf<-c(mammals$z_str[n],birds$z_str[n],cyathea$z_str[n],amphies$z_str[n])
ze[is.na(ze)]<-0.1
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2)*p[1],col=cols, labels="",border=FALSE)
cols<-c(alpha("darkorange1", 0), alpha("royalblue4", 0.9), alpha("darkgreen",0), alpha("firebrick",0))
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
ze<-c(mammals$z_str[n],birds$z_str[n],cyathea$z_str[n],amphies$z_str[n])
ze[is.na(ze)]<-0.1
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2)*p[2],col=cols, labels="",border=FALSE)
cols<-c(alpha("black", 0), alpha("black", 0.9), alpha("darkgreen",0), alpha("firebrick",0))
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
ze<-c(mammals$z_end[n],birds$z_end[n],cyathea$z_end[n],amphies$z_end[n])
zf<-c(mammals$z_str[n],birds$z_str[n],cyathea$z_str[n],amphies$z_str[n])
ze[is.na(ze)]<-0.1
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2)*p[2],col=cols, labels="",border=FALSE)
cols<-c(alpha("darkorange1", 0), alpha("royalblue4", 0), alpha("darkgreen",0.9), alpha("firebrick",0))
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
ze<-c(mammals$z_str[n],birds$z_str[n],cyathea$z_str[n],amphies$z_str[n])
ze[is.na(ze)]<-0.1
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2)*p[3],col=cols, labels="",border=FALSE)
cols<-c(alpha("black", 0), alpha("black", 0), alpha("black", 0.9), alpha("firebrick",0))
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
ze<-c(mammals$z_end[n],birds$z_end[n],cyathea$z_end[n],amphies$z_end[n])
zf<-c(mammals$z_str[n],birds$z_str[n],cyathea$z_str[n],amphies$z_str[n])
ze[is.na(ze)]<-0.1
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2)*p[3],col=cols, labels="",border=FALSE)
cols<-c(alpha("darkorange1", 0), alpha("royalblue4", 0), alpha("darkgreen",0), alpha("firebrick",0.9))
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
ze<-c(mammals$z_str[n],birds$z_str[n],cyathea$z_str[n],amphies$z_str[n])
ze[is.na(ze)]<-0.1
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2)*p[4],col=cols, labels="",border=FALSE)
cols<-c(alpha("black", 0), alpha("black", 0), alpha("black", 0), alpha("black", 0.9))
zs<-c(mammals$z_ass[n],birds$z_ass[n],cyathea$z_ass[n],amphies$z_ass[n])
zs[is.na(zs)]<-0.1
ze<-c(mammals$z_end[n],birds$z_end[n],cyathea$z_end[n],amphies$z_end[n])
zf<-c(mammals$z_str[n],birds$z_str[n],cyathea$z_str[n],amphies$z_str[n])
ze[is.na(ze)]<-0.1
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,0,0,radius=log(sum(zs)+2)*p[4],col=cols, labels="",border=FALSE)
}
cexX<-1
yy=log(5)
text("5 sp.",x=0,y=yy,pos=3,col="black",cex=cexX,font=2)
draw.ellipse(x=0,y=0,a = yy, b = yy ,nv=400,border="black",col=NA ,lty=1,density=NULL,lwd=0.5)
yy=log(50)
text("50 sp.",x=0,y=yy-0.35,pos=3,col="black",cex=cexX,font=2)
draw.ellipse(x=0,y=0,a = yy, b = yy ,nv=500,border="black",col=NA ,lty=1,density=NULL,lwd=0.5)
yy=log(250)
text("250 sp.",x=0,y=yy-0.5,pos=3,col="black",cex=cexX,font=2)
draw.ellipse(x=0,y=0,a = yy, b = yy ,nv=500,border="black",col=NA ,lty=1,density=NULL,lwd=0.5)
yy=log(1000)
text("1000 sp.",x=0,y=yy-0.5,pos=3,col="black",cex=cexX,font=2)
draw.ellipse(x=0,y=0,a = yy, b = yy ,nv=500,border="black",col=NA ,lty=1,density=NULL,lwd=0.5)
par(xpd=NA)
text(contID,x=0,y=yy+2,pos=3,col="black",cex=1.5,font=2)
if(contID=="Africa")
{
img<-readPNG("C:\\bio\\R_Backup\\cloudforests\\figures\\figures_9042018\\shapes\\mammals2.png")
rasterImage(img,3.8,3.8,9,8.5)
img<-readPNG("C:\\bio\\R_Backup\\cloudforests\\figures\\figures_9042018\\shapes\\birds.png")
rasterImage(img,3,-7,7,-2)
img<-readPNG("C:\\bio\\R_Backup\\cloudforests\\figures\\figures_9042018\\shapes\\treeferns.png")
rasterImage(img,-7,-7,-4,-2)
img<-readPNG("C:\\bio\\R_Backup\\cloudforests\\figures\\figures_9042018\\shapes\\amphibians.png")
rasterImage(img,-7,3,-3,7.5)
}
par(xpd=TRUE)
if (contID=="Asia-Pacific")
{
par(xpd=NA)
lines(x=c(-7,-1),y=c(-7,-1),col=alpha("royalblue4", 0.75),lwd=2)
text(x=-7,y=-7.5,"strict")
lines(x=c(-7,-3),y=c(7,3),col=alpha("firebrick", 0.25),lwd=2)
text(x=-7.2,y=7.5,"associated")
lines(x=c(7,0),y=c(7,0),col=alpha("black", 0.75),lwd=2)
text(x=6,y=7.5,"endemic")
par(xpd=F)
}
if (contID=="Americas")
{
par(xpd=F)
text(-11,9.5,"(a)",cex=2)
par(xpd=NA)
}
}
#### Data preparation b
{
tc2<-tc
tc_pr1<-cbind(tc2[,1:2],(tc2[,3:18]))
tc_un1<-cbind(tc2[,1:2],(tc2[,19:34]))
tc_pr1<-tc_pr1+tc_un1
tc_pr1[,1:2]<-tc_un1[,1:2]
tc_pr2<-cbind(tc2[,1:2],(tc2[,35:50]))
tc_un2<-cbind(tc2[,1:2],(tc2[,51:66]))
tc_pr2<-tc_pr2+tc_un2
tc_pr2[,1:2]<-tc_un2[,1:2]
tc_pr3<-cbind(tc2[,1:2],(tc2[,67:82]))
tc_un3<-cbind(tc2[,1:2],(tc2[,83:98]))
tc_pr3<-tc_pr3+tc_un3
tc_pr3[,1:2]<-tc_un3[,1:2]
tc_pr_pr1<-cbind(tc_pr1[,1:2],100-100*(tc_pr1[,3:18]/tc_pr1[,3]))
tc_pr_pr2<-cbind(tc_pr2[,1:2],100-100*(tc_pr2[,3:18]/tc_pr2[,3]))
tc_pr_pr3<-cbind(tc_pr3[,1:2],100-100*(tc_pr3[,3:18]/tc_pr3[,3]))
tc_proc1<-100-tc_pr_pr1
tc_proc2<-100-tc_pr_pr2
tc_proc3<-100-tc_pr_pr3
ccf<-full[,1:3]
ccf<-ccf[duplicated(ccf$cf_id)==FALSE,]
tc_proc1$ID<-tc_pr1$ID
tc_proc1$Name<-tc_pr1$Name
tc_proc1<-merge(tc_proc1,ccf,by.x="ID",by.y="cf_id")
tc_proc2$ID<-tc_pr2$ID
tc_proc2$Name<-tc_pr2$Name
tc_proc2<-merge(tc_proc2,ccf,by.x="ID",by.y="cf_id")
tc_proc3$ID<-tc_pr3$ID
tc_proc3$Name<-tc_pr3$Name
tc_proc3<-merge(tc_proc3,ccf,by.x="ID",by.y="cf_id")
}
{
contnames<-tc_proc3[,19:20]
id_names<-as.data.frame(pp)
id_names$Name<-gsub("_"," ",id_names$Name)
#id_names<-merge(contnames,id_names,by.x="Name",by.y="Name",all.x=T)
id_names<-id_names[,1:3]
tc_proc4<-pa_stat
#tc_proc4<-tc_proc4[,-1]
colnames(tc_proc4)[1]<-"ID"
tc_sds<-tc_proc4[,c(20:(length(tc_proc4[1,])))]
tc_proc4<-tc_proc4[,-c(20:(length(tc_proc4[1,])))]
tc_proc1<-tc_proc4
tc_proc1[,c(2:(length(tc_proc1[1,])))]<-tc_proc1[,c(2:(length(tc_proc1[1,])))]+tc_sds
tc_proc2<-tc_proc4
tc_proc2[,c(2:(length(tc_proc2[1,])))]<-tc_proc2[,c(2:(length(tc_proc2[1,])))]-tc_sds
tc_proc4<-cbind(tc_proc4[,1],100*(tc_proc4[,2:19]/tc_proc4[,2]))
tc_proc1<-cbind(tc_proc1[,1],100*(tc_proc1[,2:19]/tc_proc1[,2]))
tc_proc2<-cbind(tc_proc2[,1],100*(tc_proc2[,2:19]/tc_proc2[,2]))
colnames(tc_proc4)[1]<-"ID"
colnames(tc_proc1)[1]<-"ID"
colnames(tc_proc2)[1]<-"ID"
tc_proc4<-merge(tc_proc4,namematching,by.x="ID",by.y="ID_org")
tc_proc1<-merge(tc_proc1,namematching,by.x="ID",by.y="ID_org")
tc_proc2<-merge(tc_proc2,namematching,by.x="ID",by.y="ID_org")
tc_proc3<-tc_proc4
}
for (CONT in unique(c("Americas","Africa","Asia-Pacific")))
{
years<-seq(2001,2018,1)
tx_cont1<-tc_proc1[tc_proc1$CFRegionContinent==CONT,]
tx_cont2<-tc_proc2[tc_proc2$CFRegionContinent==CONT,]
tx_cont3<-tc_proc3[tc_proc3$CFRegionContinent==CONT,]
mini<-min(min(tx_cont1[,3:20],na.rm = T),min(tx_cont2[,3:20],na.rm = T),min(tx_cont3[,3:20],na.rm = T))
if(CONT=="Americas")
{
plot(0,ylim=c(90,100),xlim=c(2001,2018),ylab="",xlab="",axes=FALSE,main="")
for(n in 90:100){abline(n,0,col="grey85",lwd=0.5)}
par(xpd=NA)
title(ylab="2001 TCF area",line=3.0,cex.lab=1)
text(-11,9.5,"(b)",cex=2)
axis(side=2, at=seq(90,100, by=1),labels=c("90%"," ","92%"," ","94%"," ","96%"," ","98%"," ","100%"),col="grey50",las=1)
par(xpd=F)
col=rgb(90/255, 180/255, 172/255,alpha=1)
text(x=2014,y=90.5,"51%*",col=col,cex=1)
shape::Arrows(2016.2,90,2016.2,89.9, lwd=1,arr.type="triangle",col=col,arr.width=0.15,arr.length=0.15)
}
if (CONT=="Africa"||CONT=="Asia-Pacific")
{
plot(0,ylim=c(90,100),xlim=c(2001,2018),ylab="",xlab="",axes=FALSE,main="")
for(n in 90:100){abline(n,0,col="grey85",lwd=0.5)}
par(xpd=NA)
axis(side=2, at=seq(90,100, by=1),col="grey50",labels=FALSE,cex.lab=1.5,las=1)
par(xpd=F)
}
axis(side=1, at=c(2001:2018),cex=0.5,col="grey50",labels=FALSE)
for (n in 1:length(tx_cont1[,1]))
{
y1<-as.numeric(as.matrix(tx_cont1[n,2:19]))
y2<-as.numeric(as.matrix(tx_cont2[n,2:19]))
y3<-as.numeric(as.matrix(tx_cont3[n,2:19]))
s1<-cbind(y1,y2,y3)
sd1<-apply(s1,1, sd, na.rm = TRUE)
sx1<-apply(s1,1, mean, na.rm = TRUE)
upper=sx1+sd1
lower=sx1-sd1
years=seq(2001,2018,1)
upper=upper[1:18]
lower=lower[1:18]
col=rgb(90/255, 180/255, 172/255,alpha=0.5)
polygon(c(rev(years), years), c(rev(lower), upper), col = col, border = NA)
col=rgb(90/255, 180/255, 172/255,alpha=0.9)
points(sx1~years,col=col,type="l",lwd=0.5)
}
}
#### Data preparation c
{
#tc2<-tc
##tc_pr1<-cbind(tc2[,1:2],(tc2[,3:18]))
##tc_un1<-cbind(tc2[,1:2],(tc2[,19:34]))
##tc_pr2<-cbind(tc2[,1:2],(tc2[,35:50]))
##tc_un2<-cbind(tc2[,1:2],(tc2[,51:66]))
##tc_pr3<-cbind(tc2[,1:2],(tc2[,67:82]))
#tc_un3<-cbind(tc2[,1:2],(tc2[,83:98])
#############################################3
tc_pr1<-pa_stat_pa[,2:18]
tc_pr2<-pa_stat_pa[,2:18]+pa_stat_pa_sd[,2:18]
tc_pr3<-pa_stat_pa[,2:18]-pa_stat_pa_sd[,2:18]
tc_pr1$ID<-pa_stat_pa$ID
tc_pr2$ID<-pa_stat_pa$ID
tc_pr3$ID<-pa_stat_pa$ID
tc_un1<-pa_stat_un[,2:18]
tc_un2<-pa_stat_un[,2:18]+pa_stat_un_sd[,2:18]
tc_un3<-pa_stat_un[,2:18]-pa_stat_un_sd[,2:18]
tc_un1$ID<-pa_stat_un$ID
tc_un2$ID<-pa_stat_un$ID
tc_un3$ID<-pa_stat_un$ID
tc_un_pr1<-cbind(100-100*(tc_un1[,1:17]/tc_un1[,1]))
tc_pr_pr1<-cbind(100-100*(tc_pr1[,1:17]/tc_pr1[,1]))
tc_un_pr2<-cbind(100-100*(tc_un2[,1:17]/tc_un2[,1]))
tc_pr_pr2<-cbind(100-100*(tc_pr2[,1:17]/tc_pr2[,1]))
tc_un_pr3<-cbind(100-100*(tc_un3[,1:17]/tc_un3[,1]))
tc_pr_pr3<-cbind(100-100*(tc_pr3[,1:17]/tc_pr3[,1]))
tc_proc1<-tc_pr_pr1/(tc_un_pr1+tc_pr_pr1)
tc_proc2<-tc_pr_pr2/(tc_un_pr2+tc_pr_pr2)
tc_proc3<-tc_pr_pr3/(tc_un_pr3+tc_pr_pr3)
tc_proc1$ID<-pa_stat$ID
tc_proc2$ID<-pa_stat$ID
tc_proc3$ID<-pa_stat$ID
ccf<-full[,1:3]
ccf<-ccf[duplicated(ccf$cf_id)==FALSE,]
#tc_proc1$ID<-tc_pr1$ID
#tc_proc1$Name<-tc_pr1$Name
tc_proc1<-merge(tc_proc1,ccf,by.x="ID",by.y="cf_id",all.x=T)
tc_proc1[,2]<-0.5
#tc_proc2$ID<-tc_proc1$ID
#tc_proc2$Name<-tc_pr2$Name
tc_proc2<-merge(tc_proc2,ccf,by.x="ID",by.y="cf_id",all.x=T)
tc_proc2[,2]<-0.5
#tc_proc3$ID<-tc_proc1$ID
#tc_proc3$Name<-tc_pr3$Name
tc_proc3<-merge(tc_proc3,ccf,by.x="ID",by.y="cf_id",all.x=T)
tc_proc3[,2]<-0.5
}
for (CONT in unique(c("Americas","Africa","Asia-Pacific")))
{
years<-seq(2001,2018,1)
tx_cont1<-tc_proc1[tc_proc1$CFRegionContinent==CONT,]
tx_cont2<-tc_proc2[tc_proc2$CFRegionContinent==CONT,]
tx_cont3<-tc_proc3[tc_proc3$CFRegionContinent==CONT,]
tx_cont2<-tx_cont2[complete.cases(tx_cont1),]
tx_cont3<-tx_cont3[complete.cases(tx_cont1),]
tx_cont1<-tx_cont1[complete.cases(tx_cont1),]
if (CONT=="Americas")
{
plot(0,ylim=c(0,1),xlim=c(2001,2018),ylab="",xlab="",axes=FALSE,main="")
for(n in seq(0,1,0.1)){abline(n,0,col="grey85",lwd=0.5)}
axis(side=2, at=seq(0,1, by=0.1),labels=c("0","","0.2","","0.4","","0.6","","0.8","","1"),col="grey50",las=1)
par(xpd=NA)
title(ylab="Rate ratio",line=3.0,cex.lab=1)
par(xpd=F)
}
if (CONT=="Africa"||CONT=="Asia-Pacific")
{
plot(0,ylim=c(0,1),xlim=c(2001,2018),ylab="",xlab="",axes=FALSE,main="",yaxt="n")
for(n in seq(0,1,0.1)){abline(n,0,col="grey85",lwd=0.5)}
axis(side=2, at=seq(0,1, by=0.1),col="grey50",labels=FALSE)
abline(0.5,0,col="red")
}
axis(side=1, at=c(2001:2018),cex=0.5,col="grey50",labels=FALSE)
n_blue<-0
n_red <-0
for (n in 1:length(tx_cont1[,1]))
{
y1<-as.numeric(as.matrix(tx_cont1[n,2:18]))
y2<-as.numeric(as.matrix(tx_cont2[n,2:18]))
y3<-as.numeric(as.matrix(tx_cont3[n,2:18]))
s1<-cbind(y1,y2,y3)
sd1<-apply(s1,1, sd, na.rm = TRUE)
sx1<-apply(s1,1, mean, na.rm = TRUE)
upper=sx1+sd1#y2
lower=sx1-sd1#y3
years=seq(2002,2018,1)
years=years-0.5
upper=upper[2:18]
lower=lower[2:18]
lower[lower<=0]<-0
col=rgb(0, 0, 0,alpha=0.25)
try(lm1<-lm(((y1+y2+y3)/3)[1:length(y1)]~years))
try(s1<-summary(lm1))
try(assign(paste0("lm_",CONT,"_",n),lm1))
p1 <- s1$coefficients[8]
slp1<- s1$coefficients[2]
if (p1 <= 0.05 && slp1<=0.0)
{
n_red<-n_red+1
col=rgb(0, 0.25, 1,alpha=0.5)
}
if (p1 <= 0.05 && slp1>0.0)
{
n_blue<-n_blue+1
col=rgb(1, 0, 0,alpha=0.5)
}
polygon(c(rev(years), years), c(rev(lower), upper), col = col, border = NA)
if (p1<=0.05)
{
# col=rgb(216/255, 179/255, 101/255,alpha=0.9)
}
points(sx1[2:18]~years,col=col,type="l",lwd=1)
slp1<-0
p1<-1
}
cola="black"
if (CONT=="Americas")
{
abline(0.5,0,col="green")
shape::Arrows(x0=2001,y0=0.35,x1=2001,y1=0.05,col=cola,lwd=1,arr.type="triangle", arr.width=0.1)
shape::Arrows(x0=2001,y0=0.65,x1=2001,y1=0.95,col=cola,lwd=1,arr.type="triangle", arr.width=0.1)
text(x=2001,y=0.95,labels="rate higher inside PA",pos=4,col=cola)
text(x=2001,y=0.05,labels="rate higher outside PA",pos=4,col=cola)
}
if (CONT=="Africa"||CONT=="Asia-Pacific")
{abline(0.5,0,col="green")}
cols<-c("blue","red","grey75")
n_grey<-length(tx_cont1[,1])-(n_red+n_blue)
zs<-c(n_red,n_blue,n_grey)
add.pie(z=zs,2014,0.9,radius=0.1,col=cols, labels="",label.dist = 0.5,border=FALSE)
if (CONT=="Americas")
{
cexll=1.5
text(x=2013.25,y=0.925,"n.s.",cex=0.75)
text(x=2014.75,y=0.925,"-",cex=cexll)
text(x=2014,y=0.85,"+",col="white",cex=cexll)
text(x=2014,y=0.96,"trends",cex=0.75,pos=3)
}
}
nN=0
#### Data preparation d
{
tcX<-merge(tcX,cff,by.x="ID",by.y="cf_id")
tc_all <-aggregate(tcX$X2001~tcX$CFRegionContinent,FUN=function(x){sum(x)})
colnames(tc_all)<-c("CFRegionContinent","cf2001")
tc_all$cf2002 <-aggregate(tcX$X2002~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2003 <-aggregate(tcX$X2003~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2004 <-aggregate(tcX$X2004~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2005 <-aggregate(tcX$X2005~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2006 <-aggregate(tcX$X2006~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2007 <-aggregate(tcX$X2007~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2008 <-aggregate(tcX$X2008~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2009 <-aggregate(tcX$X2009~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2010 <-aggregate(tcX$X2010~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2011 <-aggregate(tcX$X2011~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2012 <-aggregate(tcX$X2012~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2013 <-aggregate(tcX$X2013~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2014 <-aggregate(tcX$X2014~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2015 <-aggregate(tcX$X2015~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc_all$cf2016 <-aggregate(tcX$X2016~tcX$CFRegionContinent,FUN=function(x){sum(x)})[,2]
tc2<-tc
tc2=cbind(tc2[,1:2],tc2[,3:98]/1000)
tc_pr<-cbind(tc2[,1:2],(tc2[,3:18]+tc2[,35:50]+tc2[,67:82])/3)
tc_un<-cbind(tc2[,1:2],(tc2[,19:34]+tc2[,51:66]+tc2[,83:98])/3)
tc_un[is.na(tc_un)]<-1
tc_pr[is.na(tc_pr)]<-1
tc_un_pr<-cbind(tc_un[,1:2],100*(tc_un[,3:18]/tc_un[,3]))
tc_pr_pr<-cbind(tc_pr[,1:2],100*(tc_pr[,3:18]/tc_pr[,3]))
col1<-rgb(51/255, 51/255, 255/255, alpha=1)
col2<-rgb(255/255, 153/255, 0, alpha=1)
tc3<-cbind(tc_un[,1:2],tc_un[,3:18],tc_pr[,3:18])
tc3[,3:34][tc3[,3:34]<=1]<-1
tc3<-tc3[order(tc3$gam_3_cf_un_2001..SUM.+tc3$gam_3_cf_pr_2001..SUM.),]
tc3<-tc3[6:64,]
allspecs<-aggregate(cf_ass~cf_id,sum,data=biodiv)
endemics<-aggregate(cf_end~cf_id,sum,data=biodiv)
tc3 <-merge(tc3,allspecs,by.x="ID",by.y="cf_id")
tc3 <-merge(tc3,endemics,by.x="ID",by.y="cf_id")
tc3 <-tc3[order(tc3$gam_3_cf_un_2001..SUM.+tc3$gam_3_cf_pr_2001..SUM.),]
tt<-merge(tc3,full,by.x="ID",by.y="cf_id",all=F)
tt<-tt[!duplicated(tt$ID),]
tc3$continents<-tt$CFRegionContinent
tc3$specloss<-tc3$cf_ass*(1-((tc3$gam_3_cf_pr_2016..SUM.+tc3$gam_3_cf_un_2016..SUM.)/(tc3$gam_3_cf_pr_2001..SUM.+tc3$gam_3_cf_un_2001..SUM.))^0.75)
tc3 <-tc3[order(tc3$specloss, decreasing = FALSE),]
col_Af<-rgb(27/255,158/255,119/255)
col_Am<-rgb(217/255,95/255,2/255)
col_As<-rgb(0,0,0)
tc3$continents<-as.character(tc3$continents)
tc3$continents[tc3$continents=="Africa"]<-col_Af
tc3$continents[tc3$continents=="Americas"]<-col_Am
tc3$continents[tc3$continents=="Asia-Pacific"]<-col_As
}
df_ext_rates<-c()
for (CONT in unique(c("Americas","Africa","Asia-Pacific")))
{
{
nN<-nN+1
assosiated<-aggregate(full$scientificname[full$CFRegionContinent==CONT]~full$CFRegionContinent[full$CFRegionContinent==CONT],FUN=function(x) {length(unique(x))})
colnames(assosiated)<-c("cf_id","s0")
endemics<-aggregate(ends$scientificname[ends$CFRegionContinent==CONT]~ends$CFRegionContinent[ends$CFRegionContinent==CONT],FUN=function(x) {length(unique(x))})
colnames(endemics)<-c("cf_id","s0")
calcSlos<-function(s0,a,z,loss=FALSE)
{
a0<-a[1:length(a)-1]
a1<-a[2:length(a)]
sst<-c()
sst<-c(sst,s0[1])
for (n in 1:length(a0))
{
sst<-c(sst,sst[n]-sst[n]*(1-(a1[n]/a0[n])^z))
}
ss<-rep(s0,length(a))
if (loss==TRUE)
{
sx<-as.numeric(ss)-as.numeric(sst)
sx=sx*(-1)
}
if (loss==FALSE)
{
sx=sst
}
sx
}
#recalculate aa
contids<-tcX[,c(1,19)]
pa_aa<-pa_stat_all
pa_aa<-merge(pa_aa,contids,by.x="ID_org",by.y="ID")
pa_aa<-aggregate(pa_aa[,2:19],by=list(pa_aa$CFRegionContinent),FUN=function(x){sum(x)})
colnames(pa_aa)<-c("cont","a2001","a2002","a2003","a2004","a2005","a2006","a2007","a2008","a2009","a2010","a2011","a2012","a2013","a2014","a2015","a2016","a2017","a2018")
aa<-pa_aa
#colntca<-c(colnames(tc_all),c("cf2017","cf2018"))
tc_all<-aa
#colnames(tc_all)<-colntca
for (xx in unique(c("assosiated")))
{
# get the species numbers
x<-get(xx)
ax<-as.matrix(tc_all[tc_all$cont==CONT,2:19])[1,]
mx<-c()
percent=FALSE
for (nn in 1:length(x[,1]))
{
m2<-c()
for (z in seq(0.1,1,0.01))
{
a<-as.vector(ax[1:18])
s0<-x[nn,2]
m<-calcSlos(s0,a,z,loss=FALSE)
mm<-c(s0,m)
m2<-rbind(m2,mm)
}
mx<-rbind(mx,m2)
}
mx<-mx[,2:length(mx[1,])]
mx<-as.data.frame(mx,row.names = FALSE)
mxt<-c()
for (row in 1:length(mx[,1]))
{
y<-seq(2001,2018,1)
mxt<-rbind(mxt,cbind(y,as.vector(as.matrix(mx[row,]))))
}
colnames(mxt)<-c("y","s")
mxt<-as.data.frame(mxt)
assign(paste0(xx,"_mxt"),mxt)
}
assosiated_mxt$s<-assosiated$s0-assosiated_mxt$s
assosiated_mxt$s<-assosiated_mxt$s*(-1)
assosiated_mxt<-assosiated_mxt[complete.cases(assosiated_mxt),]
ass_mm<-aggregate(assosiated_mxt$s~assosiated_mxt$y,FUN=function(x){median(x)})
ass_sd<-aggregate(assosiated_mxt$s~assosiated_mxt$y,FUN=function(x){sd(x)})
upper<-ass_mm$`assosiated_mxt$s`+ass_sd$`assosiated_mxt$s`
lower<-ass_mm$`assosiated_mxt$s`-ass_sd$`assosiated_mxt$s`
# try a differnt way of plotting it
byy=2
if(CONT=="Americas"){byy<-10}
m=0
zts<-seq(0.1,1,0.1)
zts<-as.character(zts)
if(CONT=="Americas")
{
plot(0,ylim=c(-30,0),xlim=c(2001,2018),ylab="",xlab="",axes=FALSE,main="")
par(xpd=NA)
title(ylab="Expected species loss",line=3.0,cex.lab=1)
par(xpd=F)
for(n in seq(-30,0,5)){abline(n,0,col="grey85",lwd=0.5)}
}
if(CONT=="Africa"||CONT=="Asia-Pacific")
{
plot(0,ylim=c(-30,0),xlim=c(2001,2018),ylab="",xlab="",axes=FALSE,main="")
par(xpd=F)
for(n in seq(-30,0,5)){abline(n,0,col="grey85",lwd=0.5)}
par(xpd=NA)
}
if(CONT=="Americas"||CONT=="Asia-Pacific")
{
axis(side=1, at=c(2001:2018),cex=0.5,col="grey50")
}
if(CONT=="Africa")
{
axis(side=1, at=c(2001:2018),labels=T,col="grey50")
title(xlab="year",line=2.2,cex.lab=1.5)
}
if(CONT=="Americas")
{
axis(side=2, at=seq(-30,0, by=5),labels=c(" -30",""," -20",""," -10","","0"),col="grey50",las=1)
}
if(CONT=="Asia-Pacific"||CONT=="Africa")
{
axis(side=2, at=seq(-30,0, by=5),col="grey50",labels=F)
}
col=rgb(85/255, 25/255,139/255,alpha=0.01)
seq_rev<-seq(1603,1620,1)
for (n in 1:90)
{
seqq1<-seq(1,18,1)+m
y0<-assosiated_mxt$s[seqq1]#seq(1,16,1)
m<-m+18
seqq2<-seq(1,18,1)+m
y1<-assosiated_mxt$s[seqq1]
y2<-assosiated_mxt$s[seq_rev]
x <-seq(2001,2018,1)
try(polygon(c(rev(x), x), c(rev(y2), y0), col = col, border = NA))
seq_rev<-seq_rev-18
}
par(xpd=TRUE)
aa<-aggregate(tc3$gam_3_cf_un_2001..SUM.~tc3$continents,FUN=function(x) {mean(x)})
aa$`tc3$gam_3_cf_un_2001..SUM.`<-aa$`tc3$gam_3_cf_un_2001..SUM.`+aggregate(tc3$gam_3_cf_pr_2001..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2002<-aggregate(tc3$gam_3_cf_un_2002..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2002..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2003<-aggregate(tc3$gam_3_cf_un_2003..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2003..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2004<-aggregate(tc3$gam_3_cf_un_2004..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2004..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2005<-aggregate(tc3$gam_3_cf_un_2005..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2005..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2006<-aggregate(tc3$gam_3_cf_un_2006..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2006..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2007<-aggregate(tc3$gam_3_cf_un_2007..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2007..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2008<-aggregate(tc3$gam_3_cf_un_2008..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2008..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2009<-aggregate(tc3$gam_3_cf_un_2009..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2009..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2010<-aggregate(tc3$gam_3_cf_un_2010..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2010..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2011<-aggregate(tc3$gam_3_cf_un_2011..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2011..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2012<-aggregate(tc3$gam_3_cf_un_2012..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2012..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2013<-aggregate(tc3$gam_3_cf_un_2013..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2013..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2014<-aggregate(tc3$gam_3_cf_un_2014..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2014..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2015<-aggregate(tc3$gam_3_cf_un_2015..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2015..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
aa$a2016<-aggregate(tc3$gam_3_cf_un_2016..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]+aggregate(tc3$gam_3_cf_pr_2016..SUM.~tc3$continents,FUN=function(x) {mean(x)})[,2]
colnames(aa)<-c("cont","a2001","a2002","a2003","a2004","a2005","a2006","a2007","a2008","a2009","a2010","a2011","a2012","a2013","a2014","a2015","a2016")
aa$cont<-c("Asia-Pacific","Africa","Americas")
#recalculate aa
contids<-tcX[,c(1,19)]
pa_aa<-pa_stat_all
pa_aa<-merge(pa_aa,contids,by.x="ID_org",by.y="ID")
pa_aa<-aggregate(pa_aa[,2:19],by=list(pa_aa$CFRegionContinent),FUN=function(x){sum(x)})
colnames(pa_aa)<-c("cont","a2001","a2002","a2003","a2004","a2005","a2006","a2007","a2008","a2009","a2010","a2011","a2012","a2013","a2014","a2015","a2016","a2017","a2018")
aa<-pa_aa
z=0.5
mam_ende<-calcSlos(specs_end[specs_end$cont==CONT&specs_end$taxogroup=="Mammals",3],aa[aa$cont==CONT,2:19],z,loss=T)
mam_asso<-calcSlos(specs_cont[specs_cont$cont==CONT&specs_cont$taxogroup=="Mammals",3],aa[aa$cont==CONT,2:19],z,loss=T)
mam_str <-calcSlos(specs_cfend[specs_cfend$cont==CONT&specs_cfend$taxogroup=="Mammals",3],aa[aa$cont==CONT,2:19],z,loss=T)
df_ext_rates<-rbind(df_ext_rates,mam_asso)
df_ext_rates<-rbind(df_ext_rates,mam_str)
df_ext_rates<-rbind(df_ext_rates,mam_ende)
amp_ende<-calcSlos(specs_end[specs_end$cont==CONT&specs_end$taxogroup=="Amphibians",3],a,z,loss=TRUE)
amp_asso<-calcSlos(specs_cont[specs_cont$cont==CONT&specs_cont$taxogroup=="Amphibians",3],a,z,loss=TRUE)
amp_str <-calcSlos(specs_cfend[specs_cfend$cont==CONT&specs_cfend$taxogroup=="Amphibians",3],a,z,loss=TRUE)
df_ext_rates<-rbind(df_ext_rates,amp_asso)
df_ext_rates<-rbind(df_ext_rates,amp_str)
df_ext_rates<-rbind(df_ext_rates,amp_ende)
tre_ende<-calcSlos(specs_end[specs_end$cont==CONT&specs_end$taxogroup=="Cyatheaceae",3],a,z,loss=TRUE)
tre_asso<-calcSlos(specs_cont[specs_cont$cont==CONT&specs_cont$taxogroup=="Cyatheaceae",3],a,z,loss=TRUE)
tre_str <-calcSlos(specs_cfend[specs_cfend$cont==CONT&specs_cfend$taxogroup=="Cyatheaceae",3],a,z,loss=TRUE)
df_ext_rates<-rbind(df_ext_rates,tre_asso)
df_ext_rates<-rbind(df_ext_rates,tre_str)
df_ext_rates<-rbind(df_ext_rates,tre_ende)
bir_ende<-calcSlos(specs_end[specs_end$cont==CONT&specs_end$taxogroup=="Birds",3],a,z,loss=TRUE)
bir_asso<-calcSlos(specs_cont[specs_cont$cont==CONT&specs_cont$taxogroup=="Birds",3],a,z,loss=TRUE)
bir_str <-calcSlos(specs_cfend[specs_cfend$cont==CONT&specs_cfend$taxogroup=="Birds",3],a,z,loss=TRUE)
df_ext_rates<-rbind(df_ext_rates,bir_asso)
df_ext_rates<-rbind(df_ext_rates,bir_str)
df_ext_rates<-rbind(df_ext_rates,bir_ende)
rx<-(-0.75)
yyx<-(-20)
cols<-c(alpha("goldenrod1", 0.5), alpha("royalblue4", 0.5), alpha("darkgreen",0.5), alpha("firebrick",0.5))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.001
add.pie(z=zs,2006,yyx,radius=log(sum(zs)/1.5)*5,col=cols, labels="",label.dist = 0.5,border=FALSE)
cols<-c(alpha("darkorange1", 0.9), alpha("royalblue4", 0), alpha("darkgreen",0), alpha("firebrick",0))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.001
ze<-c((mam_str[18])*rx,(bir_str[18])*rx,(tre_str[18])*rx,(amp_str[18])*rx)
ze[is.na(ze)]<-0.001
p<-ze/zs
p[is.na(p)]<-0.001
add.pie(z=zs,2006,yyx,radius=log((sum(zs))/2)*5*p[1],col=cols, labels="",border=FALSE)
cols<-c(alpha("black", 0.9), alpha("royalblue4", 0), alpha("darkgreen",0), alpha("firebrick",0))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.001
ze<-c((mam_ende[18])*rx,(bir_ende[18])*rx,(tre_ende[18])*rx,(amp_ende[18])*rx)
ze[is.na(ze)]<-0.001
p<-ze/zs
p[is.na(p)]<-0.001
add.pie(z=zs,2006,yyx,radius=log((sum(zs))/2)*5*p[1],col=cols, labels="",border=FALSE)
cols<-c(alpha("darkorange1", 0), alpha("royalblue4", 0.9), alpha("darkgreen",0), alpha("firebrick",0))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.1
ze<-c((mam_str[18])*rx,(bir_str[18])*rx,(tre_str[18])*rx,(amp_str[18])*rx)
ze[is.na(ze)]<-0.001
p<-ze/zs
p[is.na(p)]<-0.001
add.pie(z=zs,2006,yyx,radius=log((sum(zs))/2)*5*p[2],col=cols, labels="",border=FALSE)
cols<-c(alpha("black", 0), alpha("black", 0.9), alpha("darkgreen",0), alpha("firebrick",0))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.001
ze<-c((mam_ende[18])*rx,(bir_ende[18])*rx,(tre_ende[18])*rx,(amp_ende[18])*rx)
ze[is.na(ze)]<-0.001
p<-ze/zs
p[is.na(p)]<-0.001
add.pie(z=zs,2006,yyx,radius=log((sum(zs))/2)*5*p[2],col=cols, labels="",border=FALSE)
cols<-c(alpha("darkorange1", 0), alpha("royalblue4", 0), alpha("darkgreen",0.9), alpha("firebrick",0))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.001
ze<-c((mam_str[18])*rx,(bir_str[18])*rx,(tre_str[18])*rx,(amp_str[18])*rx)
ze[is.na(ze)]<-0.001
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,2006,yyx,radius=log((sum(zs))/2)*5*p[3],col=cols, labels="",border=FALSE)
cols<-c(alpha("black", 0), alpha("black", 0), alpha("black",0.9), alpha("firebrick",0))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.001
ze<-c((mam_ende[18])*rx,(bir_ende[18])*rx,(tre_ende[18])*rx,(amp_ende[18])*rx)
ze[is.na(ze)]<-0.001
p<-ze/zs
p[is.na(p)]<-0.001
add.pie(z=zs,2006,yyx,radius=log((sum(zs))/2)*5*p[3],col=cols, labels="",border=FALSE)
cols<-c(alpha("darkorange1", 0), alpha("royalblue4", 0), alpha("darkgreen",0), alpha("firebrick",0.9))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.001
ze<-c((mam_str[18])*rx,(bir_str[18])*rx,(tre_str[18])*rx,(amp_str[18])*rx)
ze[is.na(ze)]<-0.001
p<-ze/zs
p[is.na(p)]<-0.1
add.pie(z=zs,2006,yyx,radius=log((sum(zs))/2)*5*p[4],col=cols, labels="",border=FALSE)
cols<-c(alpha("black", 0), alpha("black", 0), alpha("black",0), alpha("black",0.9))
zs<-c((mam_asso[18])*rx,(bir_asso[18])*rx,(tre_asso[18])*rx,(amp_asso[18])*rx)
zs[is.na(zs)]<-0.001
ze<-c((mam_ende[18])*rx,(bir_ende[18])*rx,(tre_ende[18])*rx,(amp_ende[18])*rx)
ze[is.na(ze)]<-0.001
p<-ze/zs
p[is.na(p)]<-0.001
add.pie(z=zs,2006,yyx,radius=log((sum(zs))/2)*5*p[4],col=cols, labels="",border=FALSE)
}
cexX<-1
w <- par("pin")[1]/diff(par("usr")[1:2])
h <- par("pin")[2]/diff(par("usr")[3:4])
asp <- w/h
#yy=log(2/1.5)*5*rx
#text("-2 sp.",x=2006,y=-18.25,pos=3,col="black",cex=cexX,font=2)
#draw.ellipse(x=2006,y=-yyx,a = yy/asp,b=yy, nv=500,border="white",col=NA ,lty=1,density=NULL,lwd=0.5)
yy=log(5/1.5)*5*rx
text("-5 sp.",x=2006,y=-16.5,pos=3,col="black",cex=cexX,font=1)
draw.ellipse(x=2006,y=yyx,a = yy/asp,b=yy, nv=500,border="black",col=NA ,lty=1,density=NULL,lwd=0.5)
yy=log(10/1.5)*5*rx
text("-10 sp.",x=2006,y=-13.75,pos=3,col="black",cex=cexX,font=1)
draw.ellipse(x=2006,y=yyx,a = yy/asp,b=yy, nv=500,border="black",col=NA ,lty=1,density=NULL,lwd=0.5)
yy=log(20/1.5)*5*rx
text("-20 sp.",x=2006,y=-11,pos=3,col="black",cex=cexX,font=1)
draw.ellipse(x=2006,y=yyx,a = yy/asp,b=yy, nv=500,border="black",col=NA ,lty=1,density=NULL,lwd=0.5)
par(xpd=NA)
}
dev.off()
# write out extinction rates
cnames<-c(rep("Americas",3*4),rep("Africa",3*4),rep("Asia-Pacific",3*4))
df_ext_rates<-as.data.frame(df_ext_rates)
colnames(df_ext_rates)<-seq(2001,2018,1)
df_ext_rates$continent<-cnames
write.csv(df_ext_rates,file=paste0(OUTPUT,"df_extinction_rates.csv"))
#############################################################################################################################################################################################################################