#Veri dosyasının R programına aktarılması ve paketin aktif hale getirilmesi
veri <- read.table(file = "veri2.dat", header = TRUE)
View(veri) 
library(metaSEM)

#VERİNİN HAZIRLANMASI
sdeğ <- 4# dört değişken var
değad <- c("B","Y","M", "İ")
etiket <- list(değad,değad)
korver <- list()

for (i in 1:nrow(veri)){
  korver[[i]] <- vec2symMat(as.matrix(veri[i,3:8]),diag = FALSE)#veri2 dosyasında korelasyon katsayıları 3. sütundan 8. sütuna kadar!
  dimnames(korver[[i]]) <- etiket
}

for (i in 1:length(korver)){
  for (j in 1:nrow(korver[[i]])){
    if (sum(is.na(korver[[i]][j,]))==sdeğ-1){
      korver[[i]][j,j] <- NA
    }
  }
  }

for (i in 1:length(korver)){
  for (j in 1:nrow(korver[[i]])){
    for (k in 1:sdeğ){
      if (is.na(korver[[i]][j,k])==TRUE
          &is.na(korver[[i]][j,j])!=TRUE
          &is.na(korver[[i]][k,k])!=TRUE){
        if(sum(is.na(korver[[i]])[j,])>sum(is.na(korver[[i]])[k,])){
          korver[[i]][k,k] = NA}
        if(sum(is.na(korver[[i]])[j,])<=sum(is.na(korver[[i]])[k,])){
          korver[[i]][j,j] = NA}
      }
    }
  }
  }

korver

#Sabit etkiler modeli altında korelasyon matrislerinin homojen olup olmadığının test edilmesi.
SEM1 <- tssem1(Cov=korver, n=veri$N, method="FEM")
summary(SEM1)

#Rastgele etkiler modeline göre korelasyon matrislerinin bir araya getirilmesi
REM1 <- tssem1(Cov=korver, n=veri$N, method="REM", RE.type="Diag")
summary(REM1)

##Meta-analitik yapısal eşitlik modellemesi için A ve S matrislerinin hazırlanması
#A matrisi
A <- create.mxMatrix(c(0,0,0,"0.4*b14",
                       0,0,0,0,
                       0,0,0,0,
                       0,"0.4*b42","0.4*b43",0),
                     type = "Full",
                     nrow = 4,
                     ncol = 4,
                     byrow = TRUE,
                     name = "A",
                     dimnames = list(değad,değad))
A
#S matrisi
S <- create.mxMatrix(c("0.4*eb",
                       0, 1,
                       0,"0.4*kov",1,
                       0, 0, 0, "0.4*ei"),
                     type="Symm", 
                     byrow = TRUE, 
                     name="S",
                     dimnames=list(değad, değad))  

S

#A ve S simetrik matrisi oluşturulduktan sonra artık modelin uyum iyiliği incelenmesi
REM2 <- tssem2(REM1, Amatrix = A, Smatrix = S, diag.constraints = FALSE)
summary(REM2)    


#Modelin yol grafiğinin hazırlanması
library("semPlot")     
grafik <- meta2semPlot(REM2)
semPaths(grafik, whatLabels="est", layout = "tree2")

#ARACI DEĞİŞKEN TÜRÜNÜN BELİRLENMESİ
#Dolaylı etkinin belirlenmesi
DolEt <- tssem2(REM1, Amatrix=A, Smatrix=S,
                diag.constraints=TRUE,intervals.type="LB", 
                mx.algebras=list(
                  IndY=mxAlgebra(b42*b14,name="IndY"), 
                  IndM=mxAlgebra(b43*b14,name="IndM")))

DolEt <- rerun(DolEt)
summary(DolEt)

#Doğrudan etkinin belirlenmesi için A matrisinin hazırlanması gerekir.
#A matrisinin hazırlanması
A2 <- create.mxMatrix(
  c( 0,"0.4*b12","0.4*b13","0.4*b14",
     0,0,0,0,
     0,0,0,0,
     0,"0.4*b42", "0.4*b43",0),
  type = "Full",
  nrow = 4,
  ncol = 4,
  byrow = TRUE,
  name = "A",
  dimnames = list(değad,değad)) 

#Doğrudan etkinin test edilmesi
DoğEt <- tssem2(REM1, Amatrix=A2, Smatrix=S,
                diag.constraints=TRUE,intervals="LB",
                mx.algebras=list(
                  IndY=mxAlgebra(b42*b14,name="IndY"), 
                  IndM=mxAlgebra(b43*b14,name="IndM")))

summary(DoğEt)








