Examples of Longitudinal Mediation Models

Load nlpsem package, dependent packages and set CSOLNP as the optimizer

library(nlpsem)
mxOption(model = NULL, key = "Default optimizer", "CSOLNP", reset = FALSE)

Load pre-computed models

load(system.file("extdata", "getMediation_examples.RData", package = "nlpsem"))

Load example data and preprocess data

# Load ECLS-K (2011) data
data("RMS_dat")
RMS_dat0 <- RMS_dat
# Re-baseline the data so that the estimated initial status is for the
# starting point of the study
baseT <- RMS_dat0$T1
RMS_dat0$T1 <- RMS_dat0$T1 - baseT
RMS_dat0$T2 <- RMS_dat0$T2 - baseT
RMS_dat0$T3 <- RMS_dat0$T3 - baseT
RMS_dat0$T4 <- RMS_dat0$T4 - baseT
RMS_dat0$T5 <- RMS_dat0$T5 - baseT
RMS_dat0$T6 <- RMS_dat0$T6 - baseT
RMS_dat0$T7 <- RMS_dat0$T7 - baseT
RMS_dat0$T8 <- RMS_dat0$T8 - baseT
RMS_dat0$T9 <- RMS_dat0$T9 - baseT
RMS_dat0$ex1 <- scale(RMS_dat0$Approach_to_Learning)
xstarts <- mean(baseT)

Example 1: Fit longitudinal mediation model with a bilinear spline functional form to assess how the baseline teacher-reported approach to learning influences the development of mathematics ability, mediated through the development of reading ability.

Med2_LGCM_BLS <- getMediation(
  dat = RMS_dat0, t_var = rep("T", 2), y_var = "M", m_var = "R",
  x_type = "baseline", x_var = "ex1", curveFun = "bilinear spline",
  records = list(1:9, 1:9), tries = 10,
  paramOut = TRUE
  )
Med2_LGCM_BLS@Estimates
#>           Name Estimate      SE
#> 1          muX   0.0000  0.0447
#> 2        phi11   0.9980  0.0631
#> 3      alphaM1   2.1134  0.0246
#> 4      alphaMr 111.8317  0.7842
#> 5      alphaM2   0.6878  0.0134
#> 6         mugM  26.3109  0.2454
#> 7    psiM1M1_r   0.1935  0.0174
#> 8    psiM1Mr_r   4.6659  0.4389
#> 9    psiM1M2_r  -0.0278  0.0067
#> 10   psiMrMr_r 226.5193 15.3972
#> 11   psiMrM2_r  -1.9010  0.2155
#> 12   psiM2M2_r   0.0341  0.0045
#> 13     alphaY1   0.9622  0.0709
#> 14     alphaYr  19.0892  3.2258
#> 15     alphaY2   0.3801  0.2509
#> 16        mugY  34.7040  0.3577
#> 17   psiY1Y1_r   0.0553  0.0062
#> 18   psiY1Yr_r   1.7819  0.1934
#> 19   psiY1Y2_r  -0.0078  0.0043
#> 20   psiYrYr_r 104.2732  7.9560
#> 21   psiYrY2_r  -0.7596  0.1582
#> 22   psiY2Y2_r   0.0235  0.0052
#> 23      betaM1   0.0623  0.0231
#> 24      betaMr   5.5473  0.6952
#> 25      betaM2  -0.0468  0.0118
#> 26      betaY1   0.0149  0.0139
#> 27      betaYr   1.2908  0.5110
#> 28      betaY2  -0.0212  0.0135
#> 29    betaM1Y1   0.3807  0.0331
#> 30    betaM1Yr   0.1190  1.1165
#> 31    betaM1Y2   0.0548  0.0517
#> 32    betaMrYr   0.7278  0.0317
#> 33    betaMrY2  -0.0012  0.0021
#> 34    betaM2Y2   0.4811  0.1482
#> 35     muetaM1   2.1134  0.0247
#> 36     muetaMr 111.8317  0.8224
#> 37     muetaM2   0.6878  0.0136
#> 38     muetaY1   1.7667  0.0166
#> 39     muetaYr 100.7284  0.8924
#> 40     muetaY2   0.6942  0.0172
#> 41  Mediator11   0.0237  0.0090
#> 42  Mediator1r   0.0074  0.0697
#> 43  Mediator12   0.0034  0.0035
#> 44  Mediatorrr   4.0371  0.5296
#> 45  Mediatorr2  -0.0066  0.0114
#> 46  Mediator22  -0.0225  0.0089
#> 47      total1   0.0386  0.0156
#> 48      totalr   5.3353  0.6929
#> 49      total2  -0.0469  0.0133
#> 50  residualsM  33.8854  0.8728
#> 51  residualsY  40.5666  1.0616
#> 52 residualsYM   6.9267  0.6893

Example 2: Fit longitudinal mediation model with a bilinear spline functional form to assess how the development of reading ability influences the development of science ability, mediated through the development of mathematics ability.

set.seed(20191029)
Med3_LGCM_BLS <- getMediation(
  dat = RMS_dat0, t_var = rep("T", 3), y_var = "S", m_var = "M", x_type = "longitudinal",
  x_var = "R", curveFun = "bilinear spline", records = list(2:9, 1:9, 1:9),
  tries = 10, paramOut = TRUE
  )
Med3_LGCM_BLS@Estimates
#>           Name Estimate      SE
#> 1      muetaX1   2.1135  0.0245
#> 2      muetaXr 111.8436  0.8255
#> 3      muetaX2   0.6874  0.0135
#> 4         mugX  26.3153  0.2468
#> 5      psiX1X1   0.1898  0.0173
#> 6      psiX1Xr   5.0493  0.4663
#> 7      psiX1X2  -0.0275  0.0066
#> 8      psiXrXr 259.0545 17.4584
#> 9      psiXrX2  -2.1598  0.2300
#> 10     psiX2X2   0.0341  0.0045
#> 11     alphaM1   0.9252  0.0697
#> 12     alphaMr  15.9487  3.0876
#> 13     alphaM2   0.4583  0.2769
#> 14        mugM  34.6341  0.3576
#> 15   psiM1M1_r   0.0544  0.0062
#> 16   psiM1Mr_r   1.7668  0.1939
#> 17   psiM1M2_r  -0.0073  0.0042
#> 18   psiMrMr_r 104.5010  8.0399
#> 19   psiMrM2_r  -0.7657  0.1579
#> 20   psiM2M2_r   0.0233  0.0052
#> 21     alphaY1   0.0431  0.0747
#> 22     alphaYr   0.5918  2.1485
#> 23     alphaY2  -1.1502  0.3345
#> 24        mugY  33.6802  1.0099
#> 25   psiY1Y1_r   0.0195  0.0041
#> 26   psiY1Yr_r   0.5091  0.0944
#> 27   psiY1Y2_r  -0.0010  0.0028
#> 28   psiYrYr_r  36.6551  3.2108
#> 29   psiYrY2_r  -0.3655  0.0832
#> 30   psiY2Y2_r   0.0079  0.0043
#> 31    betaX1Y1   0.3986  0.0326
#> 32    betaX1Yr   0.6660  1.0019
#> 33    betaX1Y2   0.0654  0.0583
#> 34    betaXrYr   0.7446  0.0298
#> 35    betaXrY2  -0.0020  0.0023
#> 36    betaX2Y2   0.4755  0.1681
#> 37    betaX1M1   0.1541  0.0383
#> 38    betaX1Mr   4.4464  1.4646
#> 39    betaX1M2  -0.2000  0.0787
#> 40    betaXrMr   0.1961  0.0379
#> 41    betaXrM2   0.0090  0.0032
#> 42    betaX2M2   0.8532  0.2130
#> 43    betaM1Y1   0.2719  0.0591
#> 44    betaM1Yr  -2.6166  2.1636
#> 45    betaM1Y2   0.0091  0.0994
#> 46    betaMrYr   0.2926  0.0389
#> 47    betaMrY2   0.0028  0.0025
#> 48    betaM2Y2   0.3738  0.1624
#> 49     muetaM1   1.7676  0.0165
#> 50     muetaMr 100.6303  0.8931
#> 51     muetaM2   0.6963  0.0171
#> 52     muetaY1   0.8493  0.0131
#> 53     muetaYr  56.7451  0.9076
#> 54     muetaY2   0.5806  0.0130
#> 55 mediator111   0.1084  0.0247
#> 56 mediator11r  -1.0430  0.8738
#> 57 mediator112   0.0036  0.0396
#> 58 mediator1rr   0.1949  0.2945
#> 59 mediator1r2   0.0019  0.0033
#> 60 mediator122   0.0244  0.0275
#> 61 mediatorrrr   0.2179  0.0302
#> 62 mediatorrr2   0.0021  0.0018
#> 63 mediatorr22  -0.0008  0.0011
#> 64 mediator222   0.1777  0.0712
#> 65     total11   0.2624  0.0287
#> 66     total1r   3.5983  1.1783
#> 67     total12  -0.1700  0.0690
#> 68     totalrr   0.4140  0.0257
#> 69     totalr2   0.0103  0.0028
#> 70     total22   1.0309  0.2041
#> 71  residualsX  41.1754  1.0946
#> 72  residualsM  19.4429  0.5484
#> 73  residualsY  33.9664  0.8762
#> 74 residualsMX   7.0079  0.6956
#> 75 residualsYX   1.8304  0.5624
#> 76 residualsYM   2.5686  0.5005