#Example script for r-sig-meta-analysis #G. Midolo #22-08-2019 calc.v<-function(x) { v <- matrix((x$sdC_imputed[1]^2 / (x$nC[1] * x$C[1]^2)) , nrow=nrow(x), ncol=nrow(x)) diag(v) <- x$vi_Bracken v } random = ~ 1 | study/ID data1<-read.csv("dat_LA.csv") #standard dataset, not ordered by study name head(data1) V1 <- metafor::bldiag(lapply(split(data1, data1$ctrl_id), calc.v)) m1<-rma.mv(yi,V1,dat=data1,random = random,method = "REML") m1 data2<-data1[order(data1$ID),] #ordered by ID head(data2) V2 <- metafor::bldiag(lapply(split(data2, data2$ctrl_id), calc.v)) m2<-rma.mv(yi,V2,dat=data2,random = random,method = "REML") m2 data3<-data1[order(data1$study),] #ordered by study name head(data3) V3 <- metafor::bldiag(lapply(split(data3, data3$ctrl_id), calc.v)) m3<-rma.mv(yi,V3,dat=data3,random = random,method = "REML") m3 #PROBLEM: model output differs between m1, m2 and m3!!! check<-dplyr::anti_join(data1,data2) nrow(check) #...but observations (rows) are the same!