Hello all,
I am using a parallel multiple mediation model path analysis of manifest variables to analyze the data for my master's thesis. This is my first time conducting path analysis, and my PI is unfamiliar with R, so I'm on my own. I'm hoping I could get some help interpreting my input and answering some questions that have come up during this process.
Path diagram of my model:
Here is my model specification code:
#### PARALLEL MULTIPLE MEDIATION MODEL ####
#Recoding Variables for Parallel Multiple Mediation Model specification
#SDO and Power are independent variables recoded as X1 and X2
impdata$X1 <- impdata$sdo.scores
impdata$X2 <- impdata$pow.scores
#Empathy, Reciprocity, Paternalism, Colourblindess, the mediators, are M1, M2, M3, and M4 respectively
impdata$M1 <- impdata$empath.scores
impdata$M2 <- impdata$recip.scores
impdata$M3 <- impdata$pat.scores
impdata$M4 <- impdata$colour.scores
#Autonomy Support and Talk with Family are dependent variables recoded as Y1 and Y2
impdata$Y1 <- impdata$autonomysupport
impdata$Y2 <- impdata$talkfamily
myModel <- '
#direct effects
Y1 ~ b1 * M1 + b2 * M2 + b3 * M3 + b4 * M4 + c1 * X1 + c3 * X2
Y2 ~ b5 * M1 + b6 * M2 + b7 * M3 + b8 * M4 + c2 * X1 + c4 * X2
#mediators
M1 ~ a1 * X1 + a5 * X2
M2 ~ a2 * X1 + a6 * X2
M3 ~ a3 * X1 + a7 * X2
M4 ~ a4 * X1 + a8 * X2
#indirect effects
indirect1 := a1 * b5
indirect2 := a2 * b6
indirect3 := a3 * b7
indirect4 := a4 * b8
indirect5 := a5 * b1
indirect6 := a6 * b2
indirect7 := a7 * b3
indirect8 := a8 * b4
indirect9 := a1 * b1
indirect10 := a2 * b2
indirect11 := a3 * b3
indirect12 := a4 * b4
indirect13 := a5 * b5
indirect14 := a6 * b6
indirect15 := a7 * b7
indirect16 := a8 * b8
# total effect (C)
#autonomy support
total1 := c1 + (a1 * b1) + (a2 * b2) + (a3 * b3) + (a4 * b4)
total2 := c3 + (a5 * b1) + (a6 * b2) + (a7 * b3) + (a8 * b4)
#communication
total3 := c2 + (a1 * b5) + (a2 * b6) + (a3 * b7) + (a4 * b8)
total4 := c4 + (a5 * b5) + (a6 * b6) + (a7 * b7) + (a8 * b8)
# covariates
M1 ~~ M2
M2 ~~ M3
M2 ~~ M4
M1 ~~ M4
M1 ~~ M3
M3 ~~ M4
'
#bootstap CI's
require("lavaan")
fit <- sem(myModel,
data= impdata,
se = "bootstrap",
bootstrap = 5000)
#obtaining more fit measures
summary(fit, fit.measures=TRUE,
standardize=TRUE,
rsquare=TRUE,
estimates = TRUE,
ci = TRUE)
My output:
lavaan 0.6-11 ended normally after 28 iterations
Estimator ML
Optimization method NLMINB
Number of model parameters 33
Used Total
Number of observations 148 155
Model Test User Model:
Test statistic 0.000
Degrees of freedom 0
Model Test Baseline Model:
Test statistic 138.059
Degrees of freedom 27
P-value 0.000
User Model versus Baseline Model:
Comparative Fit Index (CFI) 1.000
Tucker-Lewis Index (TLI) 1.000
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -876.849
Loglikelihood unrestricted model (H1) -876.849
Akaike (AIC) 1819.698
Bayesian (BIC) 1918.606
Sample-size adjusted Bayesian (BIC) 1814.173
Root Mean Square Error of Approximation:
RMSEA 0.000
90 Percent confidence interval - lower 0.000
90 Percent confidence interval - upper 0.000
P-value RMSEA <= 0.05 NA
Standardized Root Mean Square Residual:
SRMR 0.000
Parameter Estimates:
Standard errors Bootstrap
Number of requested bootstrap draws 5000
Number of successful bootstrap draws 5000
Regressions:
Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
Y1 ~
M1 (b1) -0.311 0.233 -1.333 0.182 -0.765 0.150 -0.311 -0.138
M2 (b2) 0.033 0.172 0.192 0.848 -0.308 0.363 0.033 0.018
M3 (b3) -0.159 0.251 -0.635 0.525 -0.657 0.340 -0.159 -0.051
M4 (b4) -0.117 0.089 -1.321 0.186 -0.296 0.056 -0.117 -0.120
X1 (c1) -0.166 0.157 -1.054 0.292 -0.466 0.154 -0.166 -0.109
X2 (c3) -0.051 0.107 -0.477 0.634 -0.253 0.173 -0.051 -0.044
Y2 ~
M1 (b5) -0.146 0.130 -1.117 0.264 -0.400 0.116 -0.146 -0.117
M2 (b6) -0.008 0.100 -0.078 0.938 -0.209 0.183 -0.008 -0.008
M3 (b7) -0.405 0.153 -2.655 0.008 -0.716 -0.108 -0.405 -0.236
M4 (b8) 0.005 0.043 0.118 0.906 -0.081 0.089 0.005 0.009
X1 (c2) -0.200 0.087 -2.292 0.022 -0.372 -0.028 -0.200 -0.238
X2 (c4) 0.061 0.061 1.004 0.315 -0.053 0.186 0.061 0.095
M1 ~
X1 (a1) -0.349 0.049 -7.124 0.000 -0.443 -0.252 -0.349 -0.518
X2 (a5) -0.014 0.035 -0.395 0.693 -0.085 0.055 -0.014 -0.027
M2 ~
X1 (a2) -0.291 0.077 -3.763 0.000 -0.431 -0.133 -0.291 -0.348
X2 (a6) -0.105 0.050 -2.115 0.034 -0.205 -0.008 -0.105 -0.165
M3 ~
X1 (a3) 0.096 0.043 2.233 0.026 0.013 0.180 0.096 0.196
X2 (a7) 0.002 0.035 0.047 0.963 -0.071 0.067 0.002 0.004
M4 ~
X1 (a4) 0.042 0.128 0.325 0.745 -0.210 0.290 0.042 0.027
X2 (a8) 0.204 0.106 1.918 0.055 -0.002 0.418 0.204 0.173
Covariances:
Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
.M1 ~~
.M2 0.101 0.023 4.438 0.000 0.056 0.145 0.101 0.381
.M2 ~~
.M3 -0.013 0.019 -0.712 0.477 -0.049 0.024 -0.013 -0.060
.M4 0.087 0.055 1.589 0.112 -0.020 0.193 0.087 0.123
.M1 ~~
.M4 -0.016 0.044 -0.376 0.707 -0.103 0.070 -0.016 -0.031
.M3 -0.022 0.013 -1.633 0.103 -0.048 0.004 -0.022 -0.131
.M3 ~~
.M4 0.061 0.040 1.528 0.127 -0.019 0.139 0.061 0.138
.Y1 ~~
.Y2 -0.013 0.060 -0.211 0.833 -0.132 0.102 -0.013 -0.018
Variances:
Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
.Y1 1.345 0.125 10.745 0.000 1.038 1.526 1.345 0.964
.Y2 0.377 0.044 8.484 0.000 0.271 0.448 0.377 0.888
.M1 0.199 0.021 9.490 0.000 0.156 0.238 0.199 0.728
.M2 0.354 0.036 9.855 0.000 0.278 0.419 0.354 0.841
.M3 0.138 0.015 9.288 0.000 0.107 0.166 0.138 0.962
.M4 1.415 0.144 9.858 0.000 1.111 1.672 1.415 0.969
R-Square:
Estimate
Y1 0.036
Y2 0.112
M1 0.272
M2 0.159
M3 0.038
M4 0.031
Defined Parameters:
Estimate Std.Err z-value P(>|z|) ci.lower ci.upper Std.lv Std.all
indirect1 0.051 0.045 1.122 0.262 -0.042 0.140 0.051 0.061
indirect2 0.002 0.030 0.076 0.939 -0.061 0.061 0.002 0.003
indirect3 -0.039 0.024 -1.619 0.105 -0.095 -0.002 -0.039 -0.046
indirect4 0.000 0.006 0.036 0.971 -0.014 0.011 0.000 0.000
indirect5 0.004 0.014 0.312 0.755 -0.023 0.037 0.004 0.004
indirect6 -0.003 0.020 -0.170 0.865 -0.045 0.039 -0.003 -0.003
indirect7 -0.000 0.010 -0.025 0.980 -0.028 0.018 -0.000 -0.000
indirect8 -0.024 0.027 -0.882 0.378 -0.095 0.009 -0.024 -0.021
indirect9 0.109 0.081 1.336 0.182 -0.051 0.268 0.109 0.071
indirect10 -0.010 0.051 -0.188 0.851 -0.116 0.090 -0.010 -0.006
indirect11 -0.015 0.028 -0.542 0.588 -0.080 0.032 -0.015 -0.010
indirect12 -0.005 0.019 -0.255 0.799 -0.049 0.034 -0.005 -0.003
indirect13 0.002 0.007 0.280 0.780 -0.012 0.019 0.002 0.003
indirect14 0.001 0.012 0.069 0.945 -0.024 0.025 0.001 0.001
indirect15 -0.001 0.015 -0.043 0.965 -0.034 0.030 -0.001 -0.001
indirect16 0.001 0.010 0.105 0.917 -0.019 0.023 0.001 0.002
total1 -0.087 0.125 -0.698 0.485 -0.332 0.163 -0.087 -0.057
total2 -0.074 0.101 -0.734 0.463 -0.273 0.130 -0.074 -0.064
total3 -0.185 0.076 -2.456 0.014 -0.336 -0.037 -0.185 -0.221
total4 0.064 0.057 1.131 0.258 -0.043 0.182 0.064 0.100
My questions:
- I thought the model I specified was my test model, but the output puts it as the base model. Do I have to specify the base model first?
- Due to the above, how can I report fit indices?
- From my understanding, none of my indirect (mediations) effects were significant, so now I can only report on the regressions?
Any help would be much appreciated! Thank you! Emilie :)