# \donttest{
## Check whether the correlation matrices are valid (positive definite)
Cooke16$data[is.pd(Cooke16$data)==FALSE]
## Since the correlation matrix in Study 3 is not positive definite,
## we exclude it in the following analyses
my.data <- Cooke16$data[-3]
my.n <- Cooke16$n[-3]
## Show the no. of studies per correlation
pattern.na(my.data, show.na = FALSE)
## Show the total sample sizes per correlation
pattern.n(my.data, my.n)
## Stage 1 analysis
## Random-effects model
random1 <- tssem1(my.data, my.n, method="REM", RE.type="Diag", acov="weighted")
summary(random1)
A1 <- create.mxMatrix(c(0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
"0.2*SN2BI","0.2*ATT2BI","0.2*PBC2BI",0,0,
0,0,"0.2*PBC2BEH","0.2*BI2BEH",0),
type="Full", ncol=5, nrow=5,
byrow=TRUE, as.mxMatrix=FALSE)
## This step is not necessary but it is useful for inspecting the model.
dimnames(A1)[[1]] <- dimnames(A1)[[2]] <- colnames(Cooke16$data[[1]])
## Display A1
A1
S1 <- create.mxMatrix(c(1,
"0.1*ATT_SN", 1,
"0.1*PBC_SN", "0.1*PBC_ATT", 1,
0, 0, 0, "0.5*VarBI",
0, 0, 0, 0, "0.5*VarBEH"),
type = "Symm", ncol=5, nrow=5,
byrow=TRUE, as.mxMatrix=FALSE)
dimnames(S1)[[1]] <- dimnames(S1)[[2]] <- colnames(Cooke16$data[[1]])
S1
## Stage 2 analysis
random2 <- tssem2(random1, Amatrix=A1, Smatrix=S1, diag.constraints=FALSE,
intervals.type="LB")
summary(random2)
## Display the model
plot(random2, what="path")
## Display the model with the parameter estimates
plot(random2, color="yellow")
# }
Run the code above in your browser using DataLab