> install.packages("metaSEM") Installing package into ¡®C:/Users/user/Documents/R/win-library/3.5¡¯ (as ¡®lib¡¯ is unspecified) trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.5/metaSEM_1.2.0.zip' Content type 'application/zip' length 1842447 bytes (1.8 MB) downloaded 1.8 MB package ¡®metaSEM¡¯ successfully unpacked and MD5 sums checked The downloaded binary packages are in C:\Users\user\AppData\Local\Temp\Rtmpg94FFC\downloaded_packages > require("metaSEM") ÇÊ¿äÇÑ ÆÐÅ°Áö¸¦ ·ÎµùÁßÀÔ´Ï´Ù: metaSEM ÇÊ¿äÇÑ ÆÐÅ°Áö¸¦ ·ÎµùÁßÀÔ´Ï´Ù: OpenMx "SLSQP" is set as the default optimizer in OpenMx. mxOption(NULL, "Gradient algorithm") is set at "central". mxOption(NULL, "Optimality tolerance") is set at "6.3e-14". mxOption(NULL, "Gradient iterations") is set at "2". > library(readxl) > dataset <- read_excel("c:/Users/user/Documents/R/paper6_3/paper6_3 data/masem_data_3_SMPL.xlsx") > head(dataset) # A tibble: 6 x 18 study N A1a A1b A1c A1f A1g A2a A2b A2e A2f A4a 1 °­¸¸¿µ ~ 204 NA 0.717 0.66 NA NA NA NA NA NA NA 2 ±Ç¿µ°ü ~ 491 0.022 0.596 NA NA 0.076 0.504 NA NA 0.0150 NA 3 ±è¹ÎÈñ ~ 88 -0.155 NA NA 0.0288 0.232 NA NA -0.0588 -0.206 NA 4 ±è¼­±Õ ~ 254 NA 0.131 NA 0.084 0.265 NA NA NA NA 0.390 5 ±èÁ¾°© ~ 160 NA NA NA -0.03 -0.0817 NA NA NA -0.110 NA 6 ±èÃá±Ù ~ 222 NA NA NA NA NA 0.424 NA 0.337 0.441 NA # ... with 6 more variables: A4d , A4e , A5c , A5d , C1a , DAT > ## make list of cormatrices (cordat), NA on diagonal > nvar <- 6 > varnames <- c("RND","CEO","ABS","COM","REL","PER") > labels <- list(varnames, varnames) > cordat <- list() > for (i in 1:nrow(dataset)){ + cordat[[i]] <- vec2symMat(as.matrix(dataset[i,3:17]),diag = FALSE) + dimnames(cordat[[i]]) <- labels + } > # put NA on diagonal if variable is missing > for (i in 1:length(cordat)){ + for (j in 1:nrow(cordat[[i]])){ + if (sum(is.na(cordat[[i]][j,]))==nvar-1) + {cordat[[i]][j,j] <- NA} + }} > # put NA on diagonal for variable with least present correlations > for (i in 1:length(cordat)){ + for (j in 1:nrow(cordat[[i]])){ + for (k in 1:nvar){ + if (is.na(cordat[[i]][j,k])==TRUE + &is.na(cordat[[i]][j,j])!=TRUE + &is.na(cordat[[i]][k,k])!=TRUE){ + + if(sum(is.na(cordat[[i]])[j,])>sum(is.na(cordat[[i]])[k,])) + {cordat[[i]][k,k] = NA} + if(sum(is.na(cordat[[i]])[j,])<=sum(is.na(cordat[[i]])[k,])) + {cordat[[i]][j,j] = NA} + }}}} > head(cordat) [[1]] RND CEO ABS COM REL PER RND NA NA 0.717 0.6600000 NA NA CEO NA NA NA NA NA NA ABS 0.717 NA NA NA NA NA COM 0.660 NA NA NA NA 0.6346937 REL NA NA NA NA NA NA PER NA NA NA 0.6346937 NA 1.0000000 [[2]] RND CEO ABS COM REL PER RND 1.000000 0.0220000 0.59571198 NA NA 0.07600000 CEO 0.022000 1.0000000 0.50400068 NA NA 0.01500000 ABS 0.595712 0.5040007 1.00000000 NA NA 0.02553593 COM NA NA NA NA NA NA REL NA NA NA NA NA NA PER 0.076000 0.0150000 0.02553593 NA NA 1.00000000 [[3]] RND CEO ABS COM REL PER RND 1.00000000 -0.15535388 NA NA 0.02878428 0.2320000 CEO -0.15535388 1.00000000 NA NA -0.05880413 -0.2060000 ABS NA NA NA NA NA NA COM NA NA NA NA NA NA REL 0.02878428 -0.05880413 NA NA 1.00000000 0.3485515 PER 0.23200000 -0.20600000 NA NA 0.34855150 1.0000000 [[4]] RND CEO ABS COM REL PER RND NA NA 0.1310000 NA 0.0840000 0.2650000 CEO NA NA NA NA NA NA ABS 0.131 NA NA 0.3900557 0.3840000 NA COM NA NA 0.3900557 1.0000000 0.3445486 0.4955869 REL 0.084 NA 0.3840000 0.3445486 1.0000000 0.2850000 PER 0.265 NA NA 0.4955869 0.2850000 1.0000000 [[5]] RND CEO ABS COM REL PER RND NA NA NA NA -0.030000000 -0.081667985 CEO NA NA NA NA NA -0.110341938 ABS NA NA NA NA NA 0.173111535 COM NA NA NA NA NA 0.037432028 REL -0.03000000 NA NA NA NA -0.004333652 PER -0.08166799 -0.1103419 0.1731115 0.03743203 -0.004333652 1.000000000 [[6]] RND CEO ABS COM REL PER RND NA NA NA NA NA NA CEO NA NA 0.424 NA 0.337 0.441 ABS NA 0.424 NA NA 0.470 0.548 COM NA NA NA 1.000 0.445 0.446 REL NA 0.337 0.470 0.445 1.000 0.534 PER NA 0.441 0.548 0.446 0.534 1.000 > dataset$N [1] 204 491 88 254 160 222 2200 105 72 151 157 143 242 253 133 346 309 140 [19] 242 150 305 238 111 23 183 144 118 567 111 228 421 120 426 919 100 288 [37] 215 104 89 114 127 149 102 103 173 > #### stage 1 > stage1random <- tssem1(Cov=cordat, n=dataset$N, method="REM", RE.type="Diag") > summary(stage1random) Call: meta(y = ES, v = acovR, RE.constraints = Diag(paste0(RE.startvalues, "*Tau2_", 1:no.es, "_", 1:no.es)), RE.lbound = RE.lbound, I2 = I2, model.name = model.name, suppressWarnings = TRUE, silent = silent, run = run) 95% confidence intervals: z statistic approximation Coefficients: Estimate Std.Error lbound ubound z value Pr(>|z|) Intercept1 1.2396e-01 8.4374e-02 -4.1407e-02 2.8933e-01 1.4692 0.1417770 Intercept2 5.1578e-01 1.2539e-01 2.7001e-01 7.6155e-01 4.1133 3.901e-05 *** Intercept3 3.7318e-01 9.0127e-02 1.9653e-01 5.4983e-01 4.1406 3.464e-05 *** Intercept4 3.1033e-01 6.4448e-02 1.8401e-01 4.3664e-01 4.8152 1.471e-06 *** Intercept5 3.4502e-01 5.7028e-02 2.3325e-01 4.5679e-01 6.0500 1.449e-09 *** Intercept6 5.2213e-01 2.9261e-02 4.6478e-01 5.7948e-01 17.8440 < 2.2e-16 *** Intercept7 3.7959e-01 8.2425e-02 2.1804e-01 5.4114e-01 4.6052 4.120e-06 *** Intercept8 3.6483e-01 7.7441e-02 2.1305e-01 5.1661e-01 4.7110 2.465e-06 *** Intercept9 3.2921e-01 9.4050e-02 1.4487e-01 5.1354e-01 3.5003 0.0004647 *** Intercept10 4.5393e-01 6.0485e-02 3.3538e-01 5.7247e-01 7.5048 6.151e-14 *** Intercept11 3.9949e-01 3.7611e-02 3.2577e-01 4.7321e-01 10.6216 < 2.2e-16 *** Intercept12 3.8744e-01 5.0495e-02 2.8847e-01 4.8641e-01 7.6727 1.688e-14 *** Intercept13 4.9346e-01 4.7210e-02 4.0093e-01 5.8599e-01 10.4526 < 2.2e-16 *** Intercept14 4.1131e-01 4.7085e-02 3.1903e-01 5.0360e-01 8.7356 < 2.2e-16 *** Intercept15 4.5677e-01 3.2941e-02 3.9221e-01 5.2134e-01 13.8663 < 2.2e-16 *** Tau2_1_1 2.3785e-02 2.1301e-02 -1.7965e-02 6.5535e-02 1.1166 0.2641691 Tau2_2_2 5.7058e-02 4.4676e-02 -3.0506e-02 1.4462e-01 1.2771 0.2015536 Tau2_3_3 2.7349e-02 2.1812e-02 -1.5403e-02 7.0101e-02 1.2538 0.2099045 Tau2_4_4 1.3236e-02 1.3020e-02 -1.2282e-02 3.8754e-02 1.0166 0.3093386 Tau2_5_5 2.3413e-02 1.2984e-02 -2.0356e-03 4.8861e-02 1.8032 0.0713583 . Tau2_6_6 3.1973e-08 NA NA NA NA NA Tau2_7_7 1.7326e-02 1.6324e-02 -1.4668e-02 4.9320e-02 1.0614 0.2885035 Tau2_8_8 2.8081e-02 2.1734e-02 -1.4518e-02 7.0680e-02 1.2920 0.1963544 Tau2_9_9 7.4326e-02 3.7930e-02 -1.5643e-05 1.4867e-01 1.9596 0.0500482 . Tau2_10_10 9.5991e-03 1.0689e-02 -1.1351e-02 3.0549e-02 0.8980 0.3691755 Tau2_11_11 1.2368e-08 NA NA NA NA NA Tau2_12_12 1.9685e-02 1.0304e-02 -5.1128e-04 3.9881e-02 1.9103 0.0560886 . Tau2_13_13 1.2640e-02 9.0057e-03 -5.0108e-03 3.0291e-02 1.4036 0.1604491 Tau2_14_14 3.2430e-02 1.2160e-02 8.5976e-03 5.6263e-02 2.6670 0.0076527 ** Tau2_15_15 1.8115e-02 6.6153e-03 5.1494e-03 3.1081e-02 2.7384 0.0061744 ** --- Signif. codes: 0 ¡®***¡¯ 0.001 ¡®**¡¯ 0.01 ¡®*¡¯ 0.05 ¡®.¡¯ 0.1 ¡® ¡¯ 1 Q statistic on the homogeneity of effect sizes: 968.5929 Degrees of freedom of the Q statistic: 97 P value of the Q statistic: 0 Heterogeneity indices (based on the estimated Tau2): Estimate Intercept1: I2 (Q statistic) 0.8551 Intercept2: I2 (Q statistic) 0.9364 Intercept3: I2 (Q statistic) 0.8744 Intercept4: I2 (Q statistic) 0.7675 Intercept5: I2 (Q statistic) 0.8585 Intercept6: I2 (Q statistic) 0.0000 Intercept7: I2 (Q statistic) 0.8115 Intercept8: I2 (Q statistic) 0.8747 Intercept9: I2 (Q statistic) 0.9501 Intercept10: I2 (Q statistic) 0.7139 Intercept11: I2 (Q statistic) 0.0000 Intercept12: I2 (Q statistic) 0.8378 Intercept13: I2 (Q statistic) 0.7612 Intercept14: I2 (Q statistic) 0.9055 Intercept15: I2 (Q statistic) 0.8312 Number of studies (or clusters): 45 Number of observed statistics: 112 Number of estimated parameters: 30 Degrees of freedom: 82 -2 log likelihood: -92.24089 OpenMx status1: 6 ("0" or "1": The optimization is considered fine. Other values may indicate problems.) Warning message: In print.summary.meta(x) : OpenMx status1 is neither 0 or 1. You are advised to 'rerun' it again. > # returns models via maTryHard() > random1_rerun <- rerun(stage1random) Retry limit reached; solution not found. Best fit=-92.240917 (started at -92.240886) (11 attempt(s): 11 valid, 0 errors) >