library("metafor")

data<-read.csv("ex-Gaussian Meta-analysis database.csv",sep=";",dec=",")

data$DIF.GENDER<-data$X..FEMALE.CONTROL-data$X..FEMALE.ADHD

data.mu<-subset(data,is.na(data$DIF.MU)==FALSE)
data.sigma<-subset(data,is.na(data$DIF.SIGMA)==FALSE & data$N.ADHD>=30 & data$N.CONTROL>=30)
data.tau<-subset(data,is.na(data$DIF.TAU)==FALSE & data$N.ADHD>=30 & data$N.CONTROL>=30)


mu.model<-rma.mv(y=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu)
summary(mu.model)
forest(mu.model,header="Author(s) and year",main=expression(paste("Forest plot for parameter ",mu)),order=data.mu$YEAR,slab=data.mu$STUDY)
funnel(mu.model,main=expression(paste("Funnel plot for parameter ",mu)),label=FALSE)

sigma.model<-rma.mv(y=data.sigma$DIF.SIGMA,V=data.sigma$VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma)
summary(sigma.model)
forest(sigma.model,header="Author(s) and year",main=expression(paste("Forest plot for parameter ",sigma)),order=data.sigma$YEAR,slab=data.sigma$STUDY)
funnel(sigma.model,main=expression(paste("Funnel plot for parameter ",sigma)),label=FALSE)

tau.model<-rma.mv(y=data.tau$DIF.TAU,V=data.tau$VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau)
summary(tau.model)
forest(tau.model,header="Author(s) and year",main=expression(paste("Forest plot for parameter ",tau)),order=data.tau$YEAR,slab=data.tau$STUDY)
funnel(tau.model,main=expression(paste("Funnel plot for parameter ",tau)),label=FALSE)

###Heterogeneity
mu.model.novar2<-rma.mv(y=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu,sigma2=c(0,NA))
mu.model.novar3<-rma.mv(y=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu,sigma2=c(NA,0))
anova(mu.model,mu.model.novar2)
anova(mu.model,mu.model.novar3)

sigma.model.novar2<-rma.mv(y=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma,sigma2=c(0,NA))
sigma.model.novar3<-rma.mv(y=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma,sigma2=c(NA,0))
anova(sigma.model,sigma.model.novar2)
anova(sigma.model,sigma.model.novar3)

tau.model.novar2<-rma.mv(y=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau,sigma2=c(0,NA))
tau.model.novar3<-rma.mv(y=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau,sigma2=c(NA,0))
anova(tau.model,tau.model.novar2)
anova(tau.model,tau.model.novar3)


#####Subtypes

mu_subtype_model<-rma.mv(data=data.mu,yi=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=~INATTENTIVE+HYPERACTIVE)
mu_subtype_model

sigma_subtype_model<-rma.mv(data=data.sigma,yi=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=~INATTENTIVE+HYPERACTIVE)
sigma_subtype_model

tau_subtype_model<-rma.mv(data=data.tau,yi=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=~INATTENTIVE+HYPERACTIVE)
tau_subtype_model


####Cognitive domains

data.mu.wm<-subset(data.mu,is.na(data.mu$DIF.MU)==FALSE & data.mu$WORKING.MEMORY==1)
mu.wm<-rma.mv(yi=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.wm)
summary(mu.wm)

data.mu.ic<-subset(data.mu,is.na(data.mu$DIF.MU)==FALSE & data.mu$INHIBITORY.CONTROL==1)
mu.ic<-rma.mv(yi=DIF.MU,V=VAR.MU,slab=STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.ic)
summary(mu.ic)

data.mu.sus<-subset(data.mu,is.na(data.mu$DIF.MU)==FALSE & data.mu$SUSTAINED.ATTENTION==1)
mu.sus<-rma.mv(yi=data.mu.sus$DIF.MU,V=data.mu.sus$VAR.MU,slab=data.mu.sus$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.sus)
summary(mu.sus)

data.mu.sel<-subset(data.mu,is.na(data.mu$DIF.MU)==FALSE & data.mu$SELECTIVE.ATTENTION==1)
mu.sel<-rma.mv(yi=DIF.MU,V=VAR.MU,slab=STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.sel,control=list(rel.tol=1e-8))
summary(mu.sel)

data.mu.cf<-subset(data.mu,is.na(data.mu$DIF.MU)==FALSE & data.mu$COGNITIVE.FLEXIBILITY==1)
mu.cf<-rma.mv(yi=data.mu.cf$DIF.MU,V=data.mu.cf$VAR.MU,slab=data.mu.cf$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.cf)
summary(mu.cf)

data.mu.tp<-subset(data.mu,is.na(data.mu$DIF.MU)==FALSE & data.mu$TIME.PERCEPTION==1)
mu.tp<-rma.mv(yi=data.mu.tp$DIF.MU,V=data.mu.tp$VAR.MU,slab=data.mu.tp$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.tp)
summary(mu.tp)

data.sigma.wm<-subset(data.sigma,is.na(data.sigma$DIF.SIGMA)==FALSE & data.sigma$WORKING.MEMORY==1)
sigma.wm<-rma.mv(yi=data.sigma.wm$DIF.SIGMA,V=data.sigma.wm$VAR.SIGMA,slab=data.sigma.wm$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma.wm)
summary(sigma.wm)

data.sigma.ic<-subset(data.sigma,is.na(data.sigma$DIF.SIGMA)==FALSE & data.sigma$INHIBITORY.CONTROL==1)
sigma.ic<-rma.mv(yi=data.sigma.ic$DIF.SIGMA,V=data.sigma.ic$VAR.SIGMA,slab=data.sigma.ic$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma.ic)
summary(sigma.ic)

data.sigma.sus<-subset(data.sigma,is.na(data.sigma$DIF.SIGMA)==FALSE & data.sigma$SUSTAINED.ATTENTION==1)
sigma.sus<-rma.mv(yi=data.sigma.sus$DIF.SIGMA,V=data.sigma.sus$VAR.SIGMA,slab=data.sigma.sus$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma.sus)
summary(sigma.sus)

data.sigma.sel<-subset(data.sigma,is.na(data.sigma$DIF.SIGMA)==FALSE & data.sigma$SELECTIVE.ATTENTION==1)
sigma.sel<-rma.mv(yi=data.sigma.sel$DIF.SIGMA,V=data.sigma.sel$VAR.SIGMA,slab=data.sigma.sel$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma.sel)
summary(sigma.sel)

data.sigma.cf<-subset(data.sigma,is.na(data.sigma$DIF.SIGMA)==FALSE & data.sigma$COGNITIVE.FLEXIBILITY==1)
sigma.cf<-rma(yi=data.sigma.cf$DIF.SIGMA,vi=data.sigma.cf$VAR.SIGMA,slab=data.sigma.cf$STUDY,data=data.sigma.cf)
summary(sigma.cf)

data.sigma.tp<-subset(data.sigma,is.na(data.sigma$DIF.SIGMA)==FALSE & data.sigma$TIME.PERCEPTION==1)
sigma.tp<-rma.mv(yi=data.sigma.tp$DIF.SIGMA,V=data.sigma.tp$VAR.SIGMA,slab=data.sigma.tp$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma.tp)
summary(sigma.tp)

data.tau.wm<-subset(data.tau,is.na(data.tau$DIF.TAU)==FALSE & data.tau$WORKING.MEMORY==1)
tau.wm<-rma.mv(yi=data.tau.wm$DIF.TAU,V=data.tau.wm$VAR.TAU,slab=data.tau.wm$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau.wm)
summary(tau.wm)

data.tau.ic<-subset(data.tau,is.na(data.tau$DIF.TAU)==FALSE & data.tau$INHIBITORY.CONTROL==1)
tau.ic<-rma.mv(yi=data.tau.ic$DIF.TAU,V=data.tau.ic$VAR.TAU,slab=data.tau.ic$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau.ic)
summary(tau.ic)

data.tau.sus<-subset(data.tau,is.na(data.tau$DIF.TAU)==FALSE & data.tau$SUSTAINED.ATTENTION==1)
tau.sus<-rma.mv(yi=data.tau.sus$DIF.TAU,V=data.tau.sus$VAR.TAU,slab=data.tau.sus$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau.sus)
summary(tau.sus)

data.tau.sel<-subset(data.tau,is.na(data.tau$DIF.TAU)==FALSE & data.tau$SELECTIVE.ATTENTION==1)
tau.sel<-rma.mv(yi=data.tau.sel$DIF.TAU,V=data.tau.sel$VAR.TAU,slab=data.tau.sel$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau.sel)
summary(tau.sel)

data.tau.cf<-subset(data.tau,is.na(data.tau$DIF.TAU)==FALSE & data.tau$COGNITIVE.FLEXIBILITY==1)
tau.cf<-rma(yi=data.tau.cf$DIF.TAU,vi=data.tau.cf$VAR.TAU,slab=data.tau.cf$STUDY,data=data.tau.cf)
summary(tau.cf)

data.tau.tp<-subset(data.tau,is.na(data.tau$DIF.TAU)==FALSE & data.tau$TIME.PERCEPTION==1)
tau.tp<-rma.mv(yi=data.tau.tp$DIF.TAU,V=data.tau.tp$VAR.TAU,slab=data.tau.tp$STUDY,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau.tp)
summary(tau.tp)

####Age

mu_model_age<-rma.mv(data=data.mu,yi=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=AGE.TOTAL)
mu_model_age

sigma_model_age<-rma.mv(data=data.sigma,yi=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=AGE.TOTAL)
sigma_model_age

tau_model_age<-rma.mv(data=data.tau,yi=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=AGE.TOTAL)
tau_model_age

(mu.model$sigma2[1] - mu_model_age$sigma2[1])/mu.model$sigma2[1]
(mu.model$sigma2[2] - mu_model_age$sigma2[2])/mu.model$sigma2[2]

(sigma.model$sigma2[1] - sigma_model_age$sigma2[1])/sigma.model$sigma2[1]
(sigma.model$sigma2[2] - sigma_model_age$sigma2[2])/sigma.model$sigma2[2]

(tau.model$sigma2[1] - tau_model_age$sigma2[1])/tau.model$sigma2[1]
(tau.model$sigma2[2] - tau_model_age$sigma2[2])/tau.model$sigma2[2]

#####Gender

mu.gender<-subset(data.mu,is.na(data.mu$DIF.GENDER)==FALSE)
sigma.gender<-subset(data.sigma,is.na(data.sigma$DIF.GENDER)==FALSE)
tau.gender<-subset(data.tau,is.na(data.tau$DIF.GENDER)==FALSE)

length(union(union(mu.gender$STUDY,sigma.gender$STUDY),tau.gender$STUDY))

cor.test(data$X..FEMALE.ADHD,data$X..FEMALE.CONTROL,method="spearman")

mu_gender_model<-rma.mv(data=data.mu,yi=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=X..FEMALE.ADHD)
mu_gender_model

sigma_gender_model<-rma.mv(data=data.sigma,yi=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=X..FEMALE.ADHD)
sigma_gender_model

tau_gender_model<-rma.mv(data=data.tau,yi=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=X..FEMALE.ADHD)
tau_gender_model


mu_gender_dif_model<-rma.mv(data=data.mu,yi=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=DIF.GENDER)
mu_gender_dif_model

sigma_gender_dif_model<-rma.mv(data=data.sigma,yi=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=DIF.GENDER)
sigma_gender_dif_model

tau_gender_dif_model<-rma.mv(data=data.tau,yi=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=DIF.GENDER)
tau_gender_dif_model


###ISI###

mu.isi<-rma.mv(data=data.mu,yi=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=ISI)
mu.isi

sigma.isi<-rma.mv(data=data.sigma,yi=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=ISI)
sigma.isi

tau.isi<-rma.mv(data=data.tau,yi=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=ISI)
tau.isi


mu.isi.quadratic<-rma.mv(data=data.mu,yi=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=~poly(ISI,degree=2,raw=TRUE))
mu.isi.quadratic

sigma.isi.quadratic<-rma.mv(data=data.sigma,yi=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=~poly(ISI,degree=2,raw=TRUE))
sigma.isi.quadratic

tau.isi.quadratic<-rma.mv(data=data.tau,yi=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),mods=~poly(ISI,degree=2,raw=TRUE))
tau.isi.quadratic

xs <- seq(0, 5, length=500)
sav <- predict(tau.isi.quadratic, newmods=unname(poly(xs, degree=2, raw=TRUE)))
regplot(tau.isi.quadratic,xlab="ISI",mod=2,ylab=expression(paste("Effect size for ",tau)),pred=sav,xvals=xs)

length(union(union(data.mu.isi$STUDY,data.sigma.isi$STUDY),data.tau.isi$STUDY))


###IQ

mu_model_IQ_threshold<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~IQ.THRESHOLD,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_IQ_threshold

sigma_model_IQ_threshold<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~IQ.THRESHOLD,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_IQ_threshold

tau_model_IQ_threshold<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~IQ.THRESHOLD,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_IQ_threshold

regplot(mu_model_IQ_threshold,xlab="IQ Threshold for participant inclusion",ylab=expression(paste("Effect size for ",mu)))
abline(h=0,lty=4,col="red",lwd=2)

mu_model_IQ_THR<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~IQ.THR,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_IQ_THR

sigma_model_IQ_THR<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~IQ.THR,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_IQ_THR

tau_model_IQ_THR<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~IQ.THR,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_IQ_THR


mu_model_IQ<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~DIF.IQ,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_IQ

sigma_model_IQ<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~DIF.IQ,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_IQ

tau_model_IQ<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~DIF.IQ,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_IQ

regplot(mu_model_IQ,xlab="Differences in IQ",ylab=expression(paste("Effect size for ",mu)))
abline(h=0,lty=4,col="red",lwd=2)


#Medication

mu_model_medication<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~MEDICATION,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_medication

sigma_model_medication<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~MEDICATION,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_medication

tau_model_medication<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~MEDICATION,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_medication


#Exclusion criteria

mu_model_neurological<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~NEUROLOGICAL.DISORDER,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_neurological

sigma_model_neurological<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~NEUROLOGICAL.DISORDER,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_neurological

tau_model_neurological<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~NEUROLOGICAL.DISORDER,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_neurological

mu_model_mood<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~MOOD,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_mood

sigma_model_mood<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~MOOD,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_mood

tau_model_mood<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~MOOD,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_mood

mu_model_anxiety<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~ANXIETY,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_anxiety

sigma_model_anxiety<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~ANXIETY,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_anxiety

tau_model_anxiety<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~ANXIETY,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_anxiety

mu_model_ASD<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~ASD,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_ASD

sigma_model_ASD<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~ASD,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_ASD

tau_model_ASD<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~ASD,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_ASD

mu_model_psychosis<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~PSYCHOSIS,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_psychosis

sigma_model_psychosis<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~PSYCHOSIS,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_psychosis

tau_model_psychosis<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~PSYCHOSIS,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_psychosis

mu_model_sensory_impairments<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~SENSORY.OR.MOTOR.IMPAIRMENT,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_sensory_impairments

sigma_model_sensory_impairments<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~SENSORY.OR.MOTOR.IMPAIRMENT,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_sensory_impairments

tau_model_sensory_impairments<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~SENSORY.OR.MOTOR.IMPAIRMENT,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_sensory_impairments

mu_model_OCD<-rma.mv(yi=DIF.MU,V=VAR.MU,mods=~OCD,data=data.mu,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_OCD

sigma_model_OCD<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,mods=~OCD,data=data.sigma,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_OCD

tau_model_OCD<-rma.mv(yi=DIF.TAU,V=VAR.TAU,mods=~OCD,data=data.tau,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
tau_model_OCD



mu_model_neurological_0<-rma.mv(yi=DIF.MU,V=VAR.MU,data=subset(data.mu,data.mu$NEUROLOGICAL.DISORDER==0),random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_neurological_0

mu_model_neurological_1<-rma.mv(yi=DIF.MU,V=VAR.MU,data=subset(data.mu,data.mu$NEUROLOGICAL.DISORDER==1),random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_neurological_1

mu_model_asd_0<-rma.mv(yi=DIF.MU,V=VAR.MU,data=subset(data.mu,data.mu$ASD==0),random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_asd_0

mu_model_asd_1<-rma.mv(yi=DIF.MU,V=VAR.MU,data=subset(data.mu,data.mu$ASD==1),random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
mu_model_asd_1

sigma_model_psychosis_0<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,data=subset(data.sigma,data.sigma$PSYCHOSIS==0),random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_psychosis_0

sigma_model_psychosis_1<-rma.mv(yi=DIF.SIGMA,V=VAR.SIGMA,data=subset(data.sigma,data.sigma$PSYCHOSIS==1),random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
sigma_model_psychosis_1

#Mean and Sd findings

data.mean<-subset(data,is.na(data$DIF.MEAN)==FALSE)
data.sd<-subset(data,is.na(data$DIF.SD)==FALSE)

model_mean<-rma.mv(yi=DIF.MEAN,V=VAR.MEAN,data=data.mean,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
summary(model_mean)

model_sd<-rma.mv(yi=DIF.SD,V=VAR.SD,data=data.sd,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER))
summary(model_sd)


###Risk of bias###

mu.funnel<-rma.mv(y=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu,mods=~sqrt(1/Ñ))
mu.funnel

sigma.funnel<-rma.mv(y=DIF.SIGMA,V=VAR.SIGMA,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.sigma,mods=sqrt(1/Ñ))
sigma.funnel

tau.funnel<-rma.mv(y=DIF.TAU,V=VAR.TAU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.tau,mods=sqrt(1/Ñ))
tau.funnel


mu.overall.estimate<-rma.mv(y=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu,mods=(1/Ñ))
mu.overall.estimate


#Sensitivity analysis

data.mu.sens<-subset(data.mu,data.mu$STUDY!="Gmehlin et al. (2016)" & data.mu$STUDY!="Osmon et al. (2018)" & data.mu$STUDY!="Rosch et al. (2013)" & data.mu$STUDY!="Vainieri et al. (2020)" | data.mu$DIF.MU!=0)

mu.model.sens<-rma.mv(y=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.sens)
summary(mu.model.sens)
forest(mu.model.sens,header="Author(s) and year",main=expression(paste("Forest plot for parameter ",mu," (Sensitivity analysis)")),order=data.mu.sens$YEAR,slab=data.mu.sens$STUDY,cex=0.7)
funnel(mu.model.sens)

mu.sens.funnel<-rma.mv(y=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.sens,mods=~sqrt(1/Ñ))
mu.sens.funnel

mu.sens.overall.estimate<-rma.mv(y=DIF.MU,V=VAR.MU,random=list(~1|EFFECT.SIZE.ID,~1|CLUSTER),data=data.mu.sens,mods=(1/Ñ))
mu.sens.overall.estimate
