library(metafor)
burn<-read.csv(file="Additional File 7. Data used in meta-analyses.csv")
attach(burn)
str(burn)

############
#1. VascRichS
############

# Select the subset of data you want to include (& means AND,  | means OR)
VascRichS<-subset(burn,(Taxon=="Vasc"|Taxon=="NativNNativ"|Taxon=="NativV"|Taxon=="VascHVascW")&(Outcome=="RichS"|Outcome=="RichG/S"))
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="VascRichS.png", 
    type="cairo",
    units="in", 
    width=10, 
    height=11, 
    res=1000)
forest(rmaData,slab=VascRichS$Citation_site,cex=0.75,main="Taxon Richness of Plants") 
dev.off()
# funnel plot using inverse square root of sample size
plot(VascRichS$SMD_g,1/sqrt(VascRichS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=0.3967,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=VascRichS) #failsafe N=331
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
VascRichSHigh<-subset(VascRichS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=VascRichSHigh$Citation_site,cex=0.75,main="Taxon Richness of Plants")

# Subgroup analyses on forest type
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=VascRichS,xlab="Forest type",ylab="Effect size")

# Broadleaf
VascRichSB<-subset(burn,(Taxon=="Vasc"|Taxon=="NativNNativ"|Taxon=="NativV"|Taxon=="VascHVascW")&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Broadleaf")
rmaDataB<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichSB,random=~1|Site_ID)
print(rmaDataB)
forest(rmaDataB,slab=VascRichSB$Citation_site,cex=0.75,main="Taxon Richness of Plants in Broadleaf Forest")
# Coniferous
VascRichSC<-subset(burn,(Taxon=="Vasc"|Taxon=="NativNNativ"|Taxon=="NativV"|Taxon=="VascHVascW")&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Coniferous")
rmaDataC<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichSC,random=~1|Site_ID)
print(rmaDataC)
forest(rmaDataC,slab=VascRichSC$Citation_site,cex=0.75,main="Taxon Richness of Plants in Coniferous Forest") 
# Mixed
VascRichSM<-subset(burn,(Taxon=="Vasc"|Taxon=="NativNNativ"|Taxon=="NativV"|Taxon=="VascHVascW")&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Mixed")
rmaDataM<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichSM,random=~1|Site_ID)
print(rmaDataM)
forest(rmaDataM,slab=VascRichSM$Citation_site,cex=0.75,main="Taxon Richness of Plants in Mixed Forest") 


# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time since burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascRichS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)


############
#2. NNativRichS
############

# Select the subset of data you want to include (& means AND,  | means OR)
NNativRichS<-subset(burn,Taxon=="NNativ"&(Outcome=="RichS"|Outcome=="RichG/S"))
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=NNativRichS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="NNativRichS.png", 
    type="cairo",
    units="in", 
    width=8, 
    height=6, 
    res=1000)
forest(rmaData,slab= NNativRichS $Citation_site,cex=0.75,main="Taxon Richness of Non-Native Plants") 
dev.off()
# funnel plot using inverse square root of sample size
plot(NNativRichS$SMD_g,1/sqrt(NNativRichS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=0.3862,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=NNativRichS) #failsafe N=23
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
NNativRichSHigh<-subset(NNativRichS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=NNativRichSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=NNativRichSHigh$Citation_site,cex=0.75,main="Taxon Richness of Non-native Plants")

# Subgroup analyses on forest type
# Cannot run forest models - all are data from coniferous forests
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=NNativRichS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=NNativRichS,xlab="Forest type",ylab="Effect size")


# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=NNativRichS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time since burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=NNativRichS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=NNativRichS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=NNativRichS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)


############
#3. VascHRichS
############

# Select the subset of data you want to include (& means AND,  | means OR)
VascHRichS<-subset(burn,Taxon=="VascH"&(Outcome=="RichS"|Outcome=="RichG/S"))
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="VascHRichS.png", 
    type="cairo",
    units="in", 
    width=8, 
    height=6, 
    res=1000)
forest(rmaData,slab=VascHRichS$Citation_site,cex=0.75,main="Taxon Richness of Herbaceous Plants") 
dev.off()
# funnel plot using inverse square root of sample size
plot(VascHRichS$SMD_g,1/sqrt(VascHRichS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=0.3574,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=VascHRichS) #failsafe N=62
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
VascHRichSHigh<-subset(VascHRichS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=VascHRichSHigh$Citation_site,cex=0.75,main="Taxon Richness of Herbaceous Plants")

# Subgroup analyses on forest type
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=VascHRichS,xlab="Forest type",ylab="Effect size")

# Broadleaf
VascHRichSB<-subset(burn,Taxon=="VascH"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Broadleaf")
rmaDataB<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichSB,random=~1|Site_ID)
print(rmaDataB)
forest(rmaDataB,slab=VascHRichSB$Citation_site,cex=0.75,main="Taxon Richness of Herbaceous Plants in Broadleaf Forest")
# Coniferous
VascHRichSC<-subset(burn,Taxon=="VascH"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Coniferous")
rmaDataC<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichSC,random=~1|Site_ID)
print(rmaDataC)
forest(rmaDataC,slab=VascHRichSC$Citation_site,cex=0.75,main="Taxon Richness of Herbaceous Plants in Coniferous Forest") 
# Mixed
VascHRichSM<-subset(burn,Taxon=="VascH"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Mixed")
rmaDataM<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichSM,random=~1|Site_ID)
print(rmaDataM)
forest(rmaDataM,slab=VascHRichSM$Citation_site,cex=0.75,main="Taxon Richness of Herbaceous Plants in Mixed Forest") 


# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time since burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
library(plotrix)
size<-rescale(1/VascHRichS$SMD_Vg,c(1,5))
plot(SMD_g~Time_since_burn_y,data=VascHRichS,xlab="Time since burn (years)",ylab="Effect size",cex=size)
abline(a=0.7582,b=-0.1296)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascHRichS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)
plot(VascHRichS$SMD_g~factor(VascHRichS$CZ)) #spurious significance, only one Cf point


############
#4. VascWRichS
############

# Select the subset of data you want to include (& means AND,  | means OR)
VascWRichS<-subset(burn,Taxon=="VascW"&(Outcome=="RichS"|Outcome=="RichG/S"))
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="VascWRichS.png", 
    type="cairo",
    units="in", 
    width=9, 
    height=6, 
    res=1000)
forest(rmaData,slab=VascWRichS$Citation_site,cex=0.75,main="Taxon Richness of Woody Plants") 
dev.off()
# funnel plot using inverse square root of sample size
plot(VascWRichS$SMD_g,1/sqrt(VascWRichS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=-0.2530,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=VascWRichS) #failsafe N=112
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
VascWRichSHigh<-subset(VascWRichS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=VascWRichSHigh$Citation_site,cex=0.75,main="Taxon Richness of Woody Plants")

# Subgroup analyses on forest type
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=VascWRichS,xlab="Forest type",ylab="Effect size")

# Broadleaf
VascWRichSB<-subset(burn,Taxon=="VascW"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Broadleaf")
rmaDataB<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichSB,random=~1|Site_ID)
print(rmaDataB)
forest(rmaDataB,slab=VascWRichSB$Citation_site,cex=0.75,main="Taxon Richness of Woody Plants in Broadleaf Forest")
# Coniferous
VascWRichSC<-subset(burn,Taxon=="VascW"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Coniferous")
rmaDataC<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichSC,random=~1|Site_ID)
print(rmaDataC)
forest(rmaDataC,slab=VascWRichSC$Citation_site,cex=0.75,main="Taxon Richness of Woody Plants in Coniferous Forest") 
# Mixed
VascWRichSM<-subset(burn,Taxon=="VascW"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Mixed")
rmaDataM<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichSM,random=~1|Site_ID)
print(rmaDataM)
forest(rmaDataM,slab=VascWRichSM$Citation_site,cex=0.75,main="Taxon Richness of Woody Plants in Mixed Forest") 

# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time sinxze burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascWRichS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)


############
#5. TreeRichS
############

# Select the subset of data you want to include (& means AND,  | means OR)
TreeRichS<-subset(burn,Taxon=="Tree"&Outcome=="RichS")
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="TreeRichS.png", 
    type="cairo",
    units="in", 
    width=9, 
    height=6, 
    res=1000)
forest(rmaData,slab=TreeRichS$Citation_site,cex=0.75,main="Taxon Richness of Trees") 
dev.off()
# funnel plot using inverse square root of sample size
plot(TreeRichS$SMD_g,1/sqrt(TreeRichS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=-1.0347,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=TreeRichS) #failsafe N=184
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
TreeRichSHigh<-subset(TreeRichS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=TreeRichSHigh$Citation_site,cex=0.75,main="Taxon Richness of Trees")

# Subgroup analyses on forest type
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=TreeRichS,xlab="Forest type",ylab="Effect size")

# Broadleaf
TreeRichSB<-subset(burn,Taxon=="Tree"&Outcome=="RichS"&Forest_type=="Broadleaf")
rmaDataB<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichSB,random=~1|Site_ID)
print(rmaDataB)
forest(rmaDataB,slab=TreeRichSB$Citation_site,cex=0.75,main="Taxon Richness of Trees in Broadleaf Forest")
# Coniferous
TreeRichSC<-subset(burn,Taxon=="Tree"&Outcome=="RichS"&Forest_type=="Coniferous")
rmaDataC<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichSC,random=~1|Site_ID)
print(rmaDataC)
forest(rmaDataC,slab=TreeRichSC$Citation_site,cex=0.75,main="Taxon Richness of Trees in Coniferous Forest") 
# Mixed
TreeRichSM<-subset(burn,Taxon=="Tree"&Outcome=="RichS"&Forest_type=="Mixed")
rmaDataM<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichSM,random=~1|Site_ID)
print(rmaDataM)
forest(rmaDataM,slab=TreeRichSM$Citation_site,cex=0.75,main="Taxon Richness of Trees in Mixed Forest") 


# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time sinxze burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=TreeRichS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)


############
#6. VascDivS
############

# Select the subset of data you want to include (& means AND,  | means OR)
VascDivS<-subset(burn,Taxon=="Vasc"&Outcome=="DivS")
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="VascDivS.png", 
    type="cairo",
    units="in", 
    width=8, 
    height=6, 
    res=1000)
forest(rmaData,slab=VascDivS$Citation_site,cex=0.75,main="Diversity of PLants") 
dev.off()
# funnel plot using inverse square root of sample size
plot(VascDivS$SMD_g,1/sqrt(VascDivS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=-0.0646,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=VascDivS) #failsafe N=0
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
VascDivSHigh<-subset(VascDivS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=VascDivSHigh$Citation_site,cex=0.75,main="Diversity of Plants")

# Subgroup analyses on forest type
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=VascDivS,xlab="Forest type",ylab="Effect size")

# Broadleaf
VascDivSB<-subset(burn,Taxon=="Vasc"&Outcome=="DivS"&Forest_type=="Broadleaf")
rmaDataB<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivSB,random=~1|Site_ID)
print(rmaDataB)
forest(rmaDataB,slab=VascDivSB$Citation_site,cex=0.75,main="Diversity of Plants in Broadleaf Forest")
# Coniferous
VascDivSC<-subset(burn,Taxon=="Vasc"&Outcome=="DivS"&Forest_type=="Coniferous")
rmaDataC<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivSC,random=~1|Site_ID)
print(rmaDataC)
forest(rmaDataC,slab=VascDivSC$Citation_site,cex=0.75,main="Diversity of Plants in Coniferous Forest") 
# Mixed
VascDivSM<-subset(burn,Taxon=="Vasc"&Outcome=="DivS"&Forest_type=="Mixed")
rmaDataM<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivSM,random=~1|Site_ID)
print(rmaDataM)
forest(rmaDataM,slab=VascDivSM$Citation_site,cex=0.75,main="Diversity of Plants in Mixed Forest") 

# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time sinxze burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=VascDivS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)


############
#7. FungRichS
############

# Select the subset of data you want to include (& means AND,  | means OR)
FungRichS<-subset(burn,Taxon=="Fung"&(Outcome=="RichS"|Outcome=="RichG/S"))
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="FungRichS.png", 
    type="cairo",
    units="in", 
    width=7, 
    height=5, 
    res=1000)
forest(rmaData,slab=FungRichS$Citation_site,cex=0.75,main="Taxon Richness of Fungi") 
dev.off()
# funnel plot using inverse square root of sample size
plot(FungRichS$SMD_g,1/sqrt(FungRichS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=-1.1628,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=FungRichS) #failsafe N=16
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
FungRichSHigh<-subset(FungRichS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=FungRichSHigh$Citation_site,cex=0.75,main="Taxon Richness of Fungi")

# Subgroup analyses on forest type
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=FungRichS,xlab="Forest type",ylab="Effect size")

# Broadleaf
FungRichSB<-subset(burn,Taxon=="Fung"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Broadleaf")
rmaDataB<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichSB,random=~1|Site_ID)
print(rmaDataB)
forest(rmaDataB,slab=FungRichSB$Citation_site,cex=0.75,main="Taxon Richness of Fungi in Broadleaf Forest")
# Coniferous
FungRichSC<-subset(burn,Taxon=="Fung"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Coniferous")
rmaDataC<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichSC,random=~1|Site_ID)
print(rmaDataC)
forest(rmaDataC,slab=FungRichSC$Citation_site,cex=0.75,main="Taxon Richness of Fungi in Coniferous Forest") 
# Mixed
FungRichSM<-subset(burn,Taxon=="Fung"&(Outcome=="RichS"|Outcome=="RichG/S")&Forest_type=="Mixed")
rmaDataM<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichSM,random=~1|Site_ID)
print(rmaDataM)
forest(rmaDataM,slab=FungRichSM$Citation_site,cex=0.75,main="Taxon Richness of Fungi in Mixed Forest") 

# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time since burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=FungRichS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)

############
#8. BirdRichS
############

# Select the subset of data you want to include (& means AND,  | means OR)
BirdRichS<-subset(burn,Taxon=="Bird"&Outcome=="RichS")
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="BirdRichS.png", 
    type="cairo",
    units="in", 
    width=7, 
    height=4, 
    res=1000)
forest(rmaData,slab=BirdRichS$Citation_site,cex=0.75,main="Taxon Richness of Birds") 
dev.off()
# funnel plot using inverse square root of sample size
plot(BirdRichS$SMD_g,1/sqrt(BirdRichS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=-0.1693,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=BirdRichS) #Non-significant model so cannot run
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
BirdRichSHigh<-subset(BirdRichS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=BirdRichSHigh$Citation_site,cex=0.75,main="Taxon Richness of Birds")

# Subgroup analyses on forest type
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=BirdRichS,xlab="Forest type",ylab="Effect size")

# Broadleaf
BirdRichSB<-subset(burn,Taxon=="Bird"&Outcome=="RichS"&Forest_type=="Broadleaf")
rmaDataB<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichSB,random=~1|Site_ID)
print(rmaDataB)
forest(rmaDataB,slab=BirdRichSB$Citation_site,cex=0.75,main="Taxon Richness of Birds in Broadleaf Forest")
# Coniferous
BirdRichSC<-subset(burn,Taxon=="Bird"&Outcome=="RichS"&Forest_type=="Coniferous")
rmaDataC<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichSC,random=~1|Site_ID)
print(rmaDataC)
forest(rmaDataC,slab=BirdRichSC$Citation_site,cex=0.75,main="Taxon Richness of Birds in Coniferous Forest") 
# Mixed
BirdRichSM<-subset(burn,Taxon=="Bird"&Outcome=="RichS"&Forest_type=="Mixed")
rmaDataM<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichSM,random=~1|Site_ID)
print(rmaDataM)
forest(rmaDataM,slab=BirdRichSM$Citation_site,cex=0.75,main="Taxon Richness of Birds in Mixed Forest") 

# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time since burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BirdRichS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)


############
#9. BeetRichS - need to check groups of taxa are correct
############

# Select the subset of data you want to include (& means AND,  | means OR)
BeetRichS<-subset(burn,(Taxon=="BeetA"|Taxon=="BeetC"|Taxon=="BeetG"|Taxon=="BeetO")&Outcome=="RichS")
# unmoderated model
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichS,random=~1|Site_ID)
# meta-analysis results
print(rmaData)
# fores plot
png(filename="BeetRichS.png", 
    type="cairo",
    units="in", 
    width=9, 
    height=6, 
    res=1000)
forest(rmaData,slab=BeetRichS$Citation_site,cex=0.75,main="Taxon Richness of Beetles") 
dev.off()
# funnel plot using inverse square root of sample size
plot(BeetRichS$SMD_g,1/sqrt(BeetRichS$n),ylim=c(0.5,0),ylab="1/sqrt(n)",xlab="Effect size")
abline(v=0.3980,lty=2)
#failsafe number
fsn(SMD_g,SMD_Vg,data=BeetRichS) #failsafe N=10
# Cook's distance plot
x<-cooks.distance(rmaData)
plot(x,type='o',pch=19,xlab="Study number",ylab="Cook's Distance")

# sensitivity analysis for high validity data
BeetRichSHigh<-subset(BeetRichS,Validity=="High validity")
rmaDataHigh<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichSHigh,random=~1|Site_ID)
print(rmaDataHigh)
forest(rmaDataHigh,slab=BeetRichSHigh$Citation_site,cex=0.75,main="Taxon Richness of Beetles")

# Subgroup analyses on forest type
rmaData<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichS,mods=~Forest_type,random=~1|Site_ID)
summary(rmaData) #not significant
plot(SMD_g~Forest_type,data=BeetRichS,xlab="Forest type",ylab="Effect size")

# Broadleaf
BeetRichSB<-subset(burn,(Taxon=="BeetA"|Taxon=="BeetC"|Taxon=="BeetG"|Taxon=="BeetO")&Outcome=="RichS"&Forest_type=="Broadleaf")
rmaDataB<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichSB,random=~1|Site_ID)
print(rmaDataB)
forest(rmaDataB,slab=BeetRichSB$Citation_site,cex=0.75,main="Taxon Richness of Beetles in Broadleaf Forest")
# Coniferous
BeetRichSC<-subset(burn,(Taxon=="BeetA"|Taxon=="BeetC"|Taxon=="BeetG"|Taxon=="BeetO")&Outcome=="RichS"&Forest_type=="Coniferous")
rmaDataC<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichSC,random=~1|Site_ID)
print(rmaDataC)
forest(rmaDataC,slab=BeetRichSC$Citation_site,cex=0.75,main="Taxon Richness of Beetles in Coniferous Forest") 
# Mixed
BeetRichSM<-subset(burn,(Taxon=="BeetA"|Taxon=="BeetC"|Taxon=="BeetG"|Taxon=="BeetO")&Outcome=="RichS"&Forest_type=="Mixed")
rmaDataM<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichSM,random=~1|Site_ID)
print(rmaDataM)
forest(rmaDataM,slab=BeetRichSM$Citation_site,cex=0.75,main="Taxon Richness of Beetles in Mixed Forest") 

# Burn frequency meta-regression
rmaDataBF<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichS,random=~1|Site_ID,mods=~Burn_freq_y)
print(rmaDataBF)
# Time since burn meta-regression
rmaDataT<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichS,random=~1|Site_ID,mods=~Time_since_burn_y)
print(rmaDataT)
# Burn season subgroup analysis
rmaDataBS<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichS,random=~1|Site_ID,mods=~factor(Burn_growdorm))
print(rmaDataBS)
# Climate zone subgroup analysis
rmaDataCZ<-rma.mv(yi=SMD_g,V=SMD_Vg,data=BeetRichS,random=~1|Site_ID,mods=~factor(CZ))
print(rmaDataCZ)


#########################################################################################################
