#Stem dosyasının R programına yüklenmesi ve görüntülenmesi
Stem<-read.csv("Stem.csv", header = T, sep = ";")
View(Stem)

#Meta-analiz paketlerinin aktif hale getirilmesi ve paketler hakkında bilgi edinme
library(metafor)
library(meta)
?metafor
?meta

#Metafor pakentinde çalışmaların etki büyüklüklerinin (EB) hesaplanmasında kullanılan komut
EB<-escalc(measure="SMD", m1i=mE, m2i=mC, sd1i=sdE, sd2i=sdC, n1i=nE, n2i=nC, vtype = "LS")

#Metafor paketinin aktif hale getirilerek Stem dosyasındaki çalışmaların etki büyüklüklerinin hesaplanması ve sonuç tablosunun görüntülenmesi
library(metafor)
EB<-escalc(measure = "SMD", m1i = Stem$mE, m2i = Stem$mC, sd1i = Stem$sdE, sd2i = Stem$sdC, n1i = Stem$nE, n2i = Stem$nC, vtype = "LS")
summary(EB)

#Hesaplanan etki büyüklüklerinin %95 güven seviyesindeki anlamlılık değerlerinin hesaplanması ve sonuç tablosuna bir sütun olarak eklenmesi
p<-round(2*(1-(pnorm(abs(EB$yi/sqrt(EB$vi))))), digits = 3)
EB<-cbind(EB, p)
summary(EB)

#Metafor paketinde sabit ve rastgele etkiler modeline göre genel etki büyüklüğünün hesaplanmasında kullanılan komutlar
FEM<-rma(yi, vi, data=dat, method="FE")
REM<-rma(yi, vi, data=dat, method="DL")

#Stem veri dosyası için sabit ve rastgele etkiler modeline göre etki büyüklüklerinin hesaplanması
FEM<-rma(yi, vi, data=EB, method="FE")
summary(FEM)
REM<-rma(yi, vi, data=EB, method="DL")
summary(REM)

#Rastgele etkiler modeline göre çalışmaların orman grafiğinin oluşturulması
forest(REM, header=TRUE, showweights=TRUE, digits = 3)

#Zayıf deneysel desenler için etki büyüklüğü (yi) ve varyansın (vi) hesaplanması
yi<-round(t/sqrt(n), digits=3)
vi<-round(((1/sqrt(n))*(sqrt(1+yi^2/2)))^2, digits=3)

#zayıf deneysel desen kullanan bir çalışma için örnek hesaplama
yi<-round(5.456/sqrt(25), digits=3)
yi
#[1] 1.091
vi<-round(((1/sqrt(25))*(sqrt(1+1.091^2/2)))^2, digits=3)
vi
#[1] 0.064

#Hesaplanan etki büyüklüğü ve varyan değerinin satır olarak sonuç tablosuna eklenmesi
EB<-rbind(EB,c(yi,vi))
EB<-rbind(EB, c(1.091, 0.064))


#Meta paketi için genel etki büyüklüğünün rastgele etkiler modeline göre hesaplanmasında kullanılan komut
EB <- metacont(n.e, mean.e, sd.e, n.c, mean.c, sd.c, data = dat, studlab = paste(outhor), sm = "SMD")

#Meta paketi kullanılarak Stem veri dosyası için etki büyüklüğünün, genel etki büyüklüğünün hesaplanmasıve sonuç tablosunun oluşturulması
library(meta)
EB <- metacont(Stem$nE, Stem$mE, Stem$sdE,Stem$nC, Stem$mC, Stem$sdC,data = Stem,  studlab = paste(Çalışma), sm = "SMD")
EB

#Meta paketi için orman grafiğinin oluşturulması
forest.meta(EB)
forest.meta(EB, leftcols="studlab")
forest.meta(EB, leftcols = c("studlab, p-value"))#p değerini de gösterir.

#Meta paketi ile tahmin aralığının hesaplanması. Bunun için etki büyüklükleri hesaplama komutuna prediction=T eklenmelidir.
EB <- metacont(Stem$nE, Stem$mE, Stem$sdE,Stem$nC, Stem$mC, Stem$sdC,data = Stem,  studlab = paste(Çalışma),prediction=T, sm = "SMD")
summary(EB)


#KATEGORİK MODERATÖR ANALİZİ
#meta paketi ile stem veri dosyasını kullanarak etki büyüklüklerinin kademeye göre anlamlı bir farklılık gösterip göstermediğini test etme
library(meta)
EB <- metacont(Stem$nE, Stem$mE, Stem$sdE,Stem$nC, Stem$mC, Stem$sdC,data = Stem,  studlab = paste(Çalışma), sm = "SMD")
MDR<-update(EB, byvar=Stem$Kademe)

#Kademeye göre orman grafiği oluşturma
forest.meta(MDR, comb.fixed = FALSE)

#META-REGRESYON
#metafor paketi ile sürenin etki büyüklüklerinin anlamlı bir yordayıcısı olup olmadığını belirleme
MRG1<- rma(yi, vi, mods = ~Stem$Süre, data = EB, method= "DL")
summary(MRG1)

#Regresyon saçılım grafiğinin oluşturma
MRG1<- rma(yi, vi, mods = ~Stem$Süre, data = EB, method= "DL")
library(ggplot2)
preds <- predict.rma (MRG1)
ggplot(EB, aes(x = Stem$Süre, y = yi, size = 1/vi))+
  geom_point(data = EB, shape = 16) + 
  geom_line(data = EB,aes(x = Stem$Süre, y = preds$pred, size = 1))

#Öğrenci yaş ortalamasının etki büyüklüklerinin anlamlı bir yordayısıcı olup olmadığını test etme
MRG2<- rma(yi, vi, mods = ~Stem$Yaş, data = EB, method= "DL")
summary(MRG2)

#Kategorik eş değişkenlerin (ilkokul, ortaokul, lise) çalışmaların etki büyüklüklerinin anlamlı bir yordaysıcısı olup olmadığını belirleme
MRG3<- rma(yi, vi, mods = ~Stem$Kademe, data = EB, method= "DL")
summary(MRG3)

#Deneysel işlemi uygulama süresi ve öğretim kademesinin çalışmalar arasındaki heterojenliğin ne kadarını açıklandığını hesaplama.
MRG4<- rma(yi, vi, mods = ~Stem$Süre+Stem$Kademe, data = EB, method= "DL")
summary(MRG4)

#Meta paketi ile meta-regresyon 
library(meta)
EB <- metacont(Stem$nE, Stem$mE, Stem$sdE,Stem$nC, Stem$mC, Stem$sdC,data = Stem,  studlab = paste(Çalışma), sm = "SMD")
MRG<-metareg(EB, Süre)
summary(MRG)
bubble(MRG)# Saçılım grafiğini çizer.





