## library(metaSEM) ## ## Clear all objects ## rm(list=ls()) ## my.df <- wvs94a[, 2:6] ## ## Run a random effects model with two effect sizes ## metaSEM.fit <- meta(y=cbind(lifesat, lifecon), v=cbind(lifesat_var, inter_cov, lifecon_var), ## data=my.df, intervals.type="LB") ## ## Get the OpenMx model ## metaSEM.model <- metaSEM.fit$mx.model ## save(metaSEM.fit, metaSEM.model, my.df, file="test4a.txt") ## Version "1.4-3532" library(OpenMx) sessionInfo() ## Clear all objects rm(list=ls()) ## Load the workspace load("test4a.txt") ## Fit the same model by using OpenMx syntax Tau <- mxMatrix(type="Symm", nrow=2, ncol=2, free=c(TRUE,TRUE,TRUE), values=c(0.1,0,0.1), labels=c("Tau2_1_1","Tau2_2_1","Tau_2_2"), name="Tau") V <- mxMatrix(type="Symm", nrow=2, ncol=2, free=FALSE, values=0, labels=c("data.lifesat_var","data.inter_cov","data.lifecon_var"), name="V") Inter <- mxMatrix(type="Full", nrow=1, ncol=2, free=TRUE, values=0, labels=c("Intercept1","Intercept2"), name="Inter") F <- mxMatrix("Iden", nrow=2, ncol=2, name="F") S <- mxAlgebra(Tau+V, name="S") my.model <- mxModel("Test", mxData(observed=my.df, type="raw"), Tau, V, Inter, S, F, mxMLObjective(covariance="S", means="Inter", dimnames=c("lifesat","lifecon")), mxCI(c("Tau","Inter"))) metaSEM.fit <- mxRun(metaSEM.model, intervals=TRUE) summary(metaSEM.fit) my.fit <- mxRun(my.model, intervals=T) summary(my.fit)