From 41b0aa94b626771aa635bdb15cbe161d46a5d63e Mon Sep 17 00:00:00 2001 From: Duco Veen Date: Tue, 18 Apr 2023 17:42:08 +0200 Subject: [PATCH] update practical 1 SEM --- content/04_SEM/practical_01.html | 446 +++++++++++++++--- content/04_SEM/practical_01.qmd | 152 +++++- .../figure-html/unnamed-chunk-10-1.png | Bin 0 -> 45248 bytes .../figure-html/unnamed-chunk-16-1.png | Bin 0 -> 11735 bytes .../figure-html/unnamed-chunk-20-1.png | Bin 0 -> 14302 bytes .../figure-html/unnamed-chunk-5-1.png | Bin 0 -> 12450 bytes .../figure-html/unnamed-chunk-6-1.png | Bin 0 -> 12662 bytes index.Rmd | 6 +- index.html | 8 +- 9 files changed, 534 insertions(+), 78 deletions(-) create mode 100644 content/04_SEM/practical_01_files/figure-html/unnamed-chunk-10-1.png create mode 100644 content/04_SEM/practical_01_files/figure-html/unnamed-chunk-16-1.png create mode 100644 content/04_SEM/practical_01_files/figure-html/unnamed-chunk-20-1.png create mode 100644 content/04_SEM/practical_01_files/figure-html/unnamed-chunk-5-1.png create mode 100644 content/04_SEM/practical_01_files/figure-html/unnamed-chunk-6-1.png diff --git a/content/04_SEM/practical_01.html b/content/04_SEM/practical_01.html index fa3bb75..412367a 100644 --- a/content/04_SEM/practical_01.html +++ b/content/04_SEM/practical_01.html @@ -113,6 +113,12 @@

Table of contents

+
  • Examples +
  • @@ -199,7 +205,7 @@

    Confirmatory
  • Get some descriptions or summaries of the data.
  • -
    +
    Code
    # For instance using
     summary(data)
    @@ -256,18 +262,18 @@

    Confirmatory

      -
    1. Fit a confirmatory factor analysis for the neuroticism factor using the cfa() function from lavaan. See ?cfa for more details.
    2. +
    3. Fit a confirmatory factor analysis for the neuroticism factor using the cfa() function from lavaan. See ?cfa for more details. Also create plots with the semPaths() function.

    First specify the model.

    -
    +
    Code
    cfa.model <- 'Neu  =~ N1 + N2 + N3 + N4 + N5'

    Then we will fit the model and look at the results

    -
    +
    Code
    fit.cfa <- cfa(cfa.model, data = data)
     summary(fit.cfa)
    @@ -312,19 +318,92 @@

    Confirmatory .N5 1.968 0.057 34.494 0.000 Neu 1.655 0.070 23.756 0.000

    +
    +Code +
    semPaths(fit.cfa, whatLabels = "est")
    +
    +
    +

    +
    -

    Using the cfa() function, you have to specify less in the model compared to the lavaan() function that we used in the lecture. What defaults are being used? Look in ?cfa() at the Details section. There you will find that cfa() is a wrapper function that actually uses lavaan() with specific defaults. Are intercepts for instance estimated or not?

    +

    Using the cfa() function, you have to specify less in the model compared to the lavaan() function that we used in the lecture. What defaults are being used? Look in ?cfa() at the Details section. There you will find that cfa() is a wrapper function that actually uses lavaan() with specific defaults. Are intercepts for instance estimated or not? Did you see them in the figures?

      +
    1. Rerun the analysis above, now include the meanstructure.
    2. +
    +
    +
    +Code +
    fit.cfa.means <- cfa(cfa.model, data = data, meanstructure = TRUE)
    +summary(fit.cfa.means)
    +
    +
    +
    lavaan 0.6-12 ended normally after 26 iterations
    +
    +  Estimator                                         ML
    +  Optimization method                           NLMINB
    +  Number of model parameters                        15
    +
    +                                                  Used       Total
    +  Number of observations                          2694        2800
    +
    +Model Test User Model:
    +                                                      
    +  Test statistic                               360.932
    +  Degrees of freedom                                 5
    +  P-value (Chi-square)                           0.000
    +
    +Parameter Estimates:
    +
    +  Standard errors                             Standard
    +  Information                                 Expected
    +  Information saturated (h1) model          Structured
    +
    +Latent Variables:
    +                   Estimate  Std.Err  z-value  P(>|z|)
    +  Neu =~                                              
    +    N1                1.000                           
    +    N2                0.952    0.023   40.826    0.000
    +    N3                0.892    0.024   36.883    0.000
    +    N4                0.677    0.024   27.818    0.000
    +    N5                0.632    0.025   24.973    0.000
    +
    +Intercepts:
    +                   Estimate  Std.Err  z-value  P(>|z|)
    +   .N1                2.931    0.030   96.735    0.000
    +   .N2                3.509    0.029  119.337    0.000
    +   .N3                3.217    0.031  104.346    0.000
    +   .N4                3.190    0.030  105.263    0.000
    +   .N5                2.973    0.031   95.168    0.000
    +    Neu               0.000                           
    +
    +Variances:
    +                   Estimate  Std.Err  z-value  P(>|z|)
    +   .N1                0.819    0.036   22.656    0.000
    +   .N2                0.828    0.034   24.025    0.000
    +   .N3                1.245    0.042   29.526    0.000
    +   .N4                1.714    0.051   33.779    0.000
    +   .N5                1.968    0.057   34.494    0.000
    +    Neu               1.655    0.070   23.756    0.000
    +
    +
    +Code +
    semPaths(fit.cfa.means, whatLabels = "est")
    +
    +
    +

    +
    +
    +
    1. Now investigate the fitmeasures using the fitmeasures() function.
    -
    +
    Code -
    fitmeasures(fit.cfa)
    +
    fitmeasures(fit.cfa.means)
                   npar                fmin               chisq                  df 
    -             10.000               0.067             360.932               5.000 
    +             15.000               0.067             360.932               5.000 
                  pvalue      baseline.chisq         baseline.df     baseline.pvalue 
                   0.000            4724.621              10.000               0.000 
                     cfi                 tli                nnfi                 rfi 
    @@ -332,52 +411,52 @@ 

    Confirmatory nfi pnfi ifi rni 0.924 0.462 0.925 0.925 logl unrestricted.logl aic bic - -23078.504 -22898.038 46177.007 46235.995 + -23078.504 -22898.038 46187.007 46275.489 ntotal bic2 rmsea rmsea.ci.lower - 2694.000 46204.222 0.163 0.149 + 2694.000 46227.829 0.163 0.149 rmsea.ci.upper rmsea.pvalue rmr rmr_nomean - 0.177 0.000 0.142 0.142 + 0.177 0.000 0.123 0.142 srmr srmr_bentler srmr_bentler_nomean crmr - 0.056 0.056 0.056 0.069 + 0.049 0.049 0.056 0.056 crmr_nomean srmr_mplus srmr_mplus_nomean cn_05 - 0.069 0.056 0.056 83.630 + 0.069 0.049 0.056 83.630 cn_01 gfi agfi pgfi - 113.604 0.942 0.825 0.314 + 113.604 0.985 0.940 0.246 mfi ecvi - 0.936 0.141

    + 0.936 0.145

    cfi seems nice, tli less so, rmsea is not looking to good.

    -
      +
      1. Now specify a CFA model for the 5 factors from the dataset.
      -
      +
      Code -
      cfa.model5 <- '
      -Agr =~ A1 + A2 + A3 + A4 + A5
      -Con =~ C1 + C2 + C3 + C4 + C5
      -Ext =~ E1 + E2 + E3 + E4 + E5
      -Neu =~ N1 + N2 + N3 + N4 + N5
      -Ope =~ O1 + O2 + O3 + O4 + O5
      -'
      +
      cfa.model5 <- '
      +Agr =~ A1 + A2 + A3 + A4 + A5
      +Con =~ C1 + C2 + C3 + C4 + C5
      +Ext =~ E1 + E2 + E3 + E4 + E5
      +Neu =~ N1 + N2 + N3 + N4 + N5
      +Ope =~ O1 + O2 + O3 + O4 + O5
      +'
      1. Investigate the fit and fitmeasures, what do you think?
      -
      +
      Code -
      fit.cfa5 <- cfa(cfa.model5, data = data)
      -summary(fit.cfa5)
      +
      fit.cfa5 <- cfa(cfa.model5, data = data, meanstructure = TRUE)
      +summary(fit.cfa5)
      lavaan 0.6-12 ended normally after 55 iterations
       
         Estimator                                         ML
         Optimization method                           NLMINB
      -  Number of model parameters                        60
      +  Number of model parameters                        85
       
                                                         Used       Total
         Number of observations                          2436        2800
      @@ -444,6 +523,39 @@ 

      Confirmatory Neu ~~ Ope -0.093 0.022 -4.138 0.000 +Intercepts: + Estimate Std.Err z-value P(>|z|) + .A1 2.406 0.029 84.421 0.000 + .A2 4.797 0.024 200.773 0.000 + .A3 4.599 0.027 173.111 0.000 + .A4 4.688 0.030 155.808 0.000 + .A5 4.544 0.026 176.499 0.000 + .C1 4.525 0.025 180.839 0.000 + .C2 4.372 0.027 163.624 0.000 + .C3 4.300 0.026 164.403 0.000 + .C4 2.550 0.028 91.427 0.000 + .C5 3.306 0.033 99.953 0.000 + .E1 2.979 0.033 90.132 0.000 + .E2 3.154 0.033 96.489 0.000 + .E3 3.984 0.027 145.509 0.000 + .E4 4.409 0.030 148.357 0.000 + .E5 4.391 0.027 161.359 0.000 + .N1 2.944 0.032 92.214 0.000 + .N2 3.518 0.031 113.259 0.000 + .N3 3.225 0.032 99.822 0.000 + .N4 3.202 0.032 100.717 0.000 + .N5 2.971 0.033 90.348 0.000 + .O1 4.813 0.023 210.888 0.000 + .O2 2.685 0.031 85.347 0.000 + .O3 4.450 0.024 182.271 0.000 + .O4 4.925 0.024 203.784 0.000 + .O5 2.469 0.027 92.049 0.000 + Agr 0.000 + Con 0.000 + Ext 0.000 + Neu 0.000 + Ope 0.000 + Variances: Estimate Std.Err z-value P(>|z|) .A1 1.745 0.052 33.725 0.000 @@ -477,13 +589,24 @@

      Confirmatory Neu 1.689 0.073 23.034 0.000 Ope 0.404 0.033 12.156 0.000

      -
      +
      +
      +
      Code -
      fitmeasures(fit.cfa5)
      +
      semPaths(fit.cfa5, whatLabels = "est")
      +
      +
      +

      +
      +
      +
      +
      +Code +
      fitmeasures(fit.cfa5)
                     npar                fmin               chisq                  df 
      -             60.000               0.855            4165.467             265.000 
      +             85.000               0.855            4165.467             265.000 
                    pvalue      baseline.chisq         baseline.df     baseline.pvalue 
                     0.000           18222.116             300.000               0.000 
                       cfi                 tli                nnfi                 rfi 
      @@ -491,46 +614,261 @@ 

      Confirmatory nfi pnfi ifi rni 0.771 0.681 0.783 0.782 logl unrestricted.logl aic bic - -99840.238 -97757.504 199800.476 200148.363 + -99840.238 -97757.504 199850.476 200343.316 ntotal bic2 rmsea rmsea.ci.lower - 2436.000 199957.729 0.078 0.076 + 2436.000 200073.251 0.078 0.076 rmsea.ci.upper rmsea.pvalue rmr rmr_nomean - 0.080 0.000 0.157 0.157 + 0.080 0.000 0.151 0.157 srmr srmr_bentler srmr_bentler_nomean crmr - 0.075 0.075 0.075 0.078 + 0.073 0.073 0.075 0.075 crmr_nomean srmr_mplus srmr_mplus_nomean cn_05 - 0.078 0.075 0.075 178.764 + 0.078 0.073 0.075 178.764 cn_01 gfi agfi pgfi - 189.003 0.862 0.830 0.703 + 189.003 0.991 0.988 0.751 mfi ecvi - 0.449 1.759

      + 0.449 1.780

      Hm.. The fit is not so great. Perhaps we can look at modification indices. Beware, we are leaving the realm of confirmatory analysis now. We will look at the 5 best modifications.

      -
      +
      Code -
      modificationindices(fit.cfa5, sort. = TRUE, maximum.number = 5)
      +
      modificationindices(fit.cfa5, sort. = TRUE, maximum.number = 5)
          lhs op rhs      mi    epc sepc.lv sepc.all sepc.nox
      -421  N1 ~~  N2 418.812  0.841   0.841    1.033    1.033
      -119 Ext =~  N4 200.790  0.487   0.448    0.285    0.285
      -158 Ope =~  E3 153.715  0.672   0.427    0.316    0.316
      -438  N3 ~~  N4 134.104  0.403   0.403    0.283    0.283
      -159 Ope =~  E4 122.558 -0.636  -0.404   -0.276   -0.276
      +451 N1 ~~ N2 418.812 0.841 0.841 1.033 1.033 +149 Ext =~ N4 200.790 0.487 0.448 0.285 0.285 +188 Ope =~ E3 153.715 0.672 0.427 0.316 0.316 +468 N3 ~~ N4 134.104 0.403 0.403 0.283 0.283 +189 Ope =~ E4 122.558 -0.636 -0.404 -0.276 -0.276

      We could also consider looking at Exploratory Factor Analyses, analyse the structure and collect new data to confirm it. Or perhaps we would like to adjust a questionnaire such that we replace items that seem to fit less well. All sort of things that could be done.

      - - - - - - - - - + + +
      +

      Examples

      +

      Since there where some questions about some more advanced SEM methods, I’ll present here a few examples with their sources. They can help you to try and work this out on your own data.

      +
      +

      Mediation example

      +

      This example come from the lavaan website which is a great resource.

      +

      First, some data is simulated that would go with a mediation model.

      +
      +
      +Code +
      set.seed(1234)
      +X <- rnorm(100)
      +M <- 0.5*X + rnorm(100)
      +Y <- 0.7*M + rnorm(100)
      +Data <- data.frame(X = X, Y = Y, M = M)
      +
      +
      +

      The rnorm() function let’s you simulate data from a normal distribution. Here 100 samples are taken from a standard normal distribution for X. The mediator is specified by the relationship of 0.5 times X plus unique variation, coming from a standard normal distribution. Y is then specified as 0.7 times the moderator plus unique variation, coming from a standard normal distribution. The data is then put in a dataframe.

      +

      Next we need to specify the lavaan model. To be able to read and understand the model this table might help:

      +
      +HTML5 Icon +
      +
      +
      +Code +
      model.med <- ' # direct effect
      +             Y ~ c*X
      +           # mediator
      +             M ~ a*X
      +             Y ~ b*M
      +           # indirect effect (a*b)
      +             ab := a*b
      +           # total effect
      +             total := c + (a*b)
      +         '
      +
      +
      +

      Next we should fit the model. To get more reliable standard errors, we can make use of the option se = "bootstrap".

      +
      +
      +Code +
      fit.med <- sem(model.med, data = Data, se = "bootstrap")
      +summary(fit.med)
      +
      +
      +
      lavaan 0.6-12 ended normally after 1 iterations
      +
      +  Estimator                                         ML
      +  Optimization method                           NLMINB
      +  Number of model parameters                         5
      +
      +  Number of observations                           100
      +
      +Model Test User Model:
      +                                                      
      +  Test statistic                                 0.000
      +  Degrees of freedom                                 0
      +
      +Parameter Estimates:
      +
      +  Standard errors                            Bootstrap
      +  Number of requested bootstrap draws             1000
      +  Number of successful bootstrap draws            1000
      +
      +Regressions:
      +                   Estimate  Std.Err  z-value  P(>|z|)
      +  Y ~                                                 
      +    X          (c)    0.036    0.116    0.312    0.755
      +  M ~                                                 
      +    X          (a)    0.474    0.098    4.837    0.000
      +  Y ~                                                 
      +    M          (b)    0.788    0.094    8.361    0.000
      +
      +Variances:
      +                   Estimate  Std.Err  z-value  P(>|z|)
      +   .Y                 0.898    0.149    6.044    0.000
      +   .M                 1.054    0.178    5.917    0.000
      +
      +Defined Parameters:
      +                   Estimate  Std.Err  z-value  P(>|z|)
      +    ab                0.374    0.087    4.314    0.000
      +    total             0.410    0.139    2.942    0.003
      +
      +
      +

      Finally, we can plot the model.

      +
      +
      +Code +
      semPaths(fit.med, whatLabels = 'est', edge.label.cex = 2)
      +
      +
      +

      +
      +
      +
      +
      +

      Latent Growth Curve example

      +

      This is a short simulated example I created:

      +

      We simulate some data where there are 5 timepoints. The mean intercept value is 2, the mean slope value is 0.7. The variance for the intercept is 1 and the variance for the slope is 0.5^2=0.25. The residual variance at each timepoint is 0.5^2=0.25.

      +
      +
      +Code +
      # Set seed for reproducibility
      +set.seed(123)
      +
      +# Simulate data for latent growth curve model
      +n <- 500 # sample size
      +t <- 5  # number of time points
      +time <- 1:t  # time variable
      +intercept <- rnorm(n, mean = 2, sd = 1)  # intercept latent variable
      +slope <- rnorm(n, mean = 0.7, sd = 0.5)  # slope latent variable
      +observed_vars <- data.frame()
      +
      +for (i in 1:n) {
      +  # Simulate observed variables for each participant
      +  Y <- intercept[i] + slope[i] * time + rnorm(t, mean = 0, sd = 0.5)
      +  observed_vars <- rbind(observed_vars, Y)
      +}
      +colnames(observed_vars) <- paste0("Y", time)
      +
      +
      +

      Now get your growth model specified.

      +
      +
      +Code +
      # Create lavaan model syntax
      +growth_model <- "
      +  # latent variables
      +    intercept =~ 1 * Y1 + 1 * Y2 + 1 * Y3 + 1 * Y4 + 1 * Y5
      +    slope =~ 1* Y1 + 2 * Y2 + 3* Y3 + 4 * Y4 + 5 * Y5
      +"
      +
      +
      +

      Fit it, and look if the estimates are as we simulated them.

      +
      +
      +Code +
      # Fit the model to the simulated data
      +fit.growth <- lavaan::growth(growth_model, data = observed_vars)
      +
      +# Summarize the model results
      +summary(fit.growth)
      +
      +
      +
      lavaan 0.6-12 ended normally after 35 iterations
      +
      +  Estimator                                         ML
      +  Optimization method                           NLMINB
      +  Number of model parameters                        10
      +
      +  Number of observations                           500
      +
      +Model Test User Model:
      +                                                      
      +  Test statistic                                 7.641
      +  Degrees of freedom                                10
      +  P-value (Chi-square)                           0.664
      +
      +Parameter Estimates:
      +
      +  Standard errors                             Standard
      +  Information                                 Expected
      +  Information saturated (h1) model          Structured
      +
      +Latent Variables:
      +                   Estimate  Std.Err  z-value  P(>|z|)
      +  intercept =~                                        
      +    Y1                1.000                           
      +    Y2                1.000                           
      +    Y3                1.000                           
      +    Y4                1.000                           
      +    Y5                1.000                           
      +  slope =~                                            
      +    Y1                1.000                           
      +    Y2                2.000                           
      +    Y3                3.000                           
      +    Y4                4.000                           
      +    Y5                5.000                           
      +
      +Covariances:
      +                   Estimate  Std.Err  z-value  P(>|z|)
      +  intercept ~~                                        
      +    slope            -0.016    0.026   -0.592    0.554
      +
      +Intercepts:
      +                   Estimate  Std.Err  z-value  P(>|z|)
      +   .Y1                0.000                           
      +   .Y2                0.000                           
      +   .Y3                0.000                           
      +   .Y4                0.000                           
      +   .Y5                0.000                           
      +    intercept         2.041    0.049   41.530    0.000
      +    slope             0.697    0.023   30.037    0.000
      +
      +Variances:
      +                   Estimate  Std.Err  z-value  P(>|z|)
      +   .Y1                0.255    0.031    8.300    0.000
      +   .Y2                0.257    0.022   11.745    0.000
      +   .Y3                0.225    0.018   12.353    0.000
      +   .Y4                0.260    0.025   10.507    0.000
      +   .Y5                0.230    0.037    6.190    0.000
      +    intercept         0.932    0.079   11.817    0.000
      +    slope             0.245    0.017   14.280    0.000
      +
      +
      +

      Great, that looks good! Now let’s just finish with a plot of this model.

      +
      +
      +Code +
      semPaths(fit.growth, whatLabels = "est", edge.label.cex = 1)
      +
      +
      +

      +
      +
      +
      +
      diff --git a/content/04_SEM/practical_01.qmd b/content/04_SEM/practical_01.qmd index b4d830e..45a26ad 100644 --- a/content/04_SEM/practical_01.qmd +++ b/content/04_SEM/practical_01.qmd @@ -5,7 +5,7 @@ format: html: toc: true toc_float: true - code-fold: true + code-fold: show code-copy: true execute: echo: true @@ -43,7 +43,7 @@ data <- psych::bfi summary(data) ``` -4. **Fit a confirmatory factor analysis for the neuroticism factor using the `cfa()` function from `lavaan`. See `?cfa` for more details. ** +4. **Fit a confirmatory factor analysis for the neuroticism factor using the `cfa()` function from `lavaan`. See `?cfa` for more details. Also create plots with the `semPaths()` function. ** First specify the model. @@ -56,19 +56,29 @@ Then we will fit the model and look at the results ```{r} fit.cfa <- cfa(cfa.model, data = data) summary(fit.cfa) +semPaths(fit.cfa, whatLabels = "est") ``` -Using the `cfa()` function, you have to specify less in the model compared to the `lavaan()` function that we used in the lecture. What defaults are being used? Look in `?cfa()` at the Details section. There you will find that `cfa()` is a wrapper function that actually uses `lavaan()` with specific defaults. Are intercepts for instance estimated or not? +Using the `cfa()` function, you have to specify less in the model compared to the `lavaan()` function that we used in the lecture. What defaults are being used? Look in `?cfa()` at the Details section. There you will find that `cfa()` is a wrapper function that actually uses `lavaan()` with specific defaults. Are intercepts for instance estimated or not? Did you see them in the figures? -5. **Now investigate the fitmeasures using the `fitmeasures()` function.** +5. **Rerun the analysis above, now include the meanstructure.** ```{r} -fitmeasures(fit.cfa) +fit.cfa.means <- cfa(cfa.model, data = data, meanstructure = TRUE) +summary(fit.cfa.means) +semPaths(fit.cfa.means, whatLabels = "est") +``` + + +6. **Now investigate the fitmeasures using the `fitmeasures()` function.** + +```{r} +fitmeasures(fit.cfa.means) ``` `cfi` seems nice, `tli` less so, `rmsea` is not looking to good. -6. **Now specify a CFA model for the 5 factors from the dataset.** +7. **Now specify a CFA model for the 5 factors from the dataset.** ```{r} cfa.model5 <- ' @@ -84,8 +94,18 @@ Ope =~ O1 + O2 + O3 + O4 + O5 7. **Investigate the fit and fitmeasures, what do you think?** ```{r} -fit.cfa5 <- cfa(cfa.model5, data = data) +fit.cfa5 <- cfa(cfa.model5, data = data, meanstructure = TRUE) summary(fit.cfa5) +``` + + +```{r} +#| fig-height: 7 +semPaths(fit.cfa5, whatLabels = "est") +``` + + +```{r} fitmeasures(fit.cfa5) ``` @@ -97,21 +117,121 @@ modificationindices(fit.cfa5, sort. = TRUE, maximum.number = 5) We could also consider looking at Exploratory Factor Analyses, analyse the structure and collect new data to confirm it. Or perhaps we would like to adjust a questionnaire such that we replace items that seem to fit less well. All sort of things that could be done. - +# Examples + +Since there where some questions about some more advanced SEM methods, I'll present here a few examples with their sources. They can help you to try and work this out on your own data. + +## Mediation example + +This example come from the [lavaan website](https://lavaan.ugent.be/tutorial/mediation.html) which is a great resource. + +First, some data is simulated that would go with a mediation model. + +```{r} +set.seed(1234) +X <- rnorm(100) +M <- 0.5*X + rnorm(100) +Y <- 0.7*M + rnorm(100) +Data <- data.frame(X = X, Y = Y, M = M) +``` + +The `rnorm()` function let's you simulate data from a normal distribution. Here 100 samples are taken from a standard normal distribution for X. The mediator is specified by the relationship of 0.5 times X plus unique variation, coming from a standard normal distribution. Y is then specified as 0.7 times the moderator plus unique variation, coming from a standard normal distribution. The data is then put in a dataframe. + +Next we need to specify the lavaan model. To be able to read and understand the model this table might help: + +
      +HTML5 Icon +
      + +```{r} +model.med <- ' # direct effect + Y ~ c*X + # mediator + M ~ a*X + Y ~ b*M + # indirect effect (a*b) + ab := a*b + # total effect + total := c + (a*b) + ' +``` + +Next we should fit the model. To get more reliable standard errors, we can make use of the option `se = "bootstrap"`. + +```{r} +#| cache: true +fit.med <- sem(model.med, data = Data, se = "bootstrap") +summary(fit.med) +``` + +Finally, we can plot the model. + +```{r} +semPaths(fit.med, whatLabels = 'est', edge.label.cex = 2) +``` + +## Latent Growth Curve example + +This is a short simulated example I created: + +We simulate some data where there are 5 timepoints. The mean intercept value is 2, the mean slope value is 0.7. The variance for the intercept is 1 and the variance for the slope is 0.5^2=0.25. The residual variance at each timepoint is 0.5^2=0.25. + +```{r} +# Set seed for reproducibility +set.seed(123) + +# Simulate data for latent growth curve model +n <- 500 # sample size +t <- 5 # number of time points +time <- 1:t # time variable +intercept <- rnorm(n, mean = 2, sd = 1) # intercept latent variable +slope <- rnorm(n, mean = 0.7, sd = 0.5) # slope latent variable +observed_vars <- data.frame() + +for (i in 1:n) { + # Simulate observed variables for each participant + Y <- intercept[i] + slope[i] * time + rnorm(t, mean = 0, sd = 0.5) + observed_vars <- rbind(observed_vars, Y) +} +colnames(observed_vars) <- paste0("Y", time) + +``` +Now get your growth model specified. +```{r} +# Create lavaan model syntax +growth_model <- " + # latent variables + intercept =~ 1 * Y1 + 1 * Y2 + 1 * Y3 + 1 * Y4 + 1 * Y5 + slope =~ 1* Y1 + 2 * Y2 + 3* Y3 + 4 * Y4 + 5 * Y5 +" +``` + +Fit it, and look if the estimates are as we simulated them. + +```{r} +# Fit the model to the simulated data +fit.growth <- lavaan::growth(growth_model, data = observed_vars) +# Summarize the model results +summary(fit.growth) + +``` + +Great, that looks good! Now let's just finish with a plot of this model. + +```{r} +#| fig-height: 4 +#| fig-width: 7 +semPaths(fit.growth, whatLabels = "est", edge.label.cex = 1) +``` - - - - - - - - +## useful links +- [lavaan website](https://lavaan.ugent.be/) +- Descriptions of fitmeasures in SEM by David Kenny, see [here](https://davidakenny.net/cm/fit.htm). End of `Practical 1` related to SEM using `lavaan`. diff --git a/content/04_SEM/practical_01_files/figure-html/unnamed-chunk-10-1.png b/content/04_SEM/practical_01_files/figure-html/unnamed-chunk-10-1.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4c18c1a644c5f684d886a729575afd1706e86f GIT binary patch literal 45248 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 literal 0 HcmV?d00001 diff --git a/content/04_SEM/practical_01_files/figure-html/unnamed-chunk-16-1.png b/content/04_SEM/practical_01_files/figure-html/unnamed-chunk-16-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b5439d29bd92d55cfb83c2d9fc2e2b128e037612 GIT binary patch literal 11735 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 QIiPK%Z+fEeFWa#H0w^P}8~^|S literal 0 HcmV?d00001 diff --git a/content/04_SEM/practical_01_files/figure-html/unnamed-chunk-20-1.png b/content/04_SEM/practical_01_files/figure-html/unnamed-chunk-20-1.png new file mode 100644 index 0000000000000000000000000000000000000000..4574069d01d99c2fd5c5179df6791c710d303747 GIT binary patch literal 14302 zcmeHu2T)U8v~ChYQxFi8CLl!+6%eE-AVj)!1*uY0dR6Hq5|Q5hkq#0BDbl2O5Rl$N z3mpUm0s%q`NGN#+{r@}nzI*4+dvET{eQ)L+4w-ZIUh7+Hm-X$l_t_^@TT_|(9LqTn z2t@r*Md2|BL<$3eNI(=MK+2HzeKQaU9HFhQs|ehJK$0Mk6-ZJNBnkY+fUJPC5=fFf zJFFzFVkCjv7~q_;`YmTA39Q^Z&VBKA{kYzr2E zONjZcod6t#356{Qh3JG9;G9fo!2*`D6M!=!`%`QoU^M|a6AB9vg@rAJE$G4)Y++}0 zAsSnVCRSR3Dy<|dt*j~mcVnz70ZYI!HB~u9tRxbv6A&%HSqK1QTd>5=gn-UML}zsZ zx)6abOhC6JpwR#fkcmcPv1lw2O(agXBuvFfPQ_SFRRU+s6yP-gHbtBw60t1_*p@;p z8aP|9SR(L;B@zJ-i0DG%R19&dk_gCQs{uJ87X3RDZ~=fkQw0R6Cl@~etwH%x#n1%= zVhcX|2S+b$TY^AWK@Sxk=z6AZ%$#KYM8n6nU)j@3@QYn|Sbj^(boz5U_}tUK%uBV= z8ggTrYHEFw*-u$RA~_l6?pnb&N?CEUhaH19ANL9}GhMQF57$lz&5d`YhEj|B@1?&N zO-|~&4EkYN=1KyBT>_s2eWcI^Z7Coi2tEh{NSY1_`Vk5u1!+OAgFLxl;BWN*%OVlG zs|Tg)apa>%PP0v&r5wivudypG5(UP_vFY_bC3U-xR*Ul2Hw*gw!O-hUHNEHJa=m;@ znsy@>(6L8H#s`;e&B7~r%{Fj7ruX@5Oi96E?~6GFc~vX709loE&6&GBhuw$aKVo(Ev%&n@M-&NfLaE-h{LyNEXsa%=n#E5r`> z4i5Ws4xEW0pf&@*x;+HG<%T<@qA)0ugYN8#Z6W9a(h1IMhUVaCil?ba*b~8XjtMs&&LWD}C$q zZ?xJWOjn(uJC-l{h6nGC;A0QO@=XiH^Rj_Nfc?0H{#378hIW&bDHsnuq3~f;+}2 zrM_oCs-p)=q3y{HR1=oGhbH~aK&A_$Y=@tu30L`7G;exw^^J!-+Zh3%Hm1W_qs9El z3v*4bo>TV+vX9aG!{NI7%RqIGx+lqk!v@d#h0f{gzE+u)?IW1;MpN0ZUmHk|q3XXH z3%j&%=`@oAC91zGEz{z2v4<>~%`0Y|{o)I_E(gDp)A^p+vd=7rqYgX5i^dSq_u}$U zaF}rWlG;UEo^gxLt1#h~anFZWqo65NY|!h|ku(Wyiz;8cfWFd_X3jz>&MZfveRnrB zKJYA68%T{a`+AE-*&l>N`ZZ8%}`?NYk& zYTQI?-UstRpg`7U(Tffu-)WIAMK~YFt7h^KsQI^0g3s~&md^#`6>diYo`^xOKUF^m z7|^3bzAUK(U3)Me017f+m^8qj$Z~216Rl&VYxRj1xlvx$1)^3qvkjdT^%(yrY z%1Q+&0Z)%FiEGJSmbsrxQ&hsx>sKr$eu?fF@bEPA%F_VV6gza?t_LD+zRfF74L&E~ z9lRB$aaIjcO4(}Xo{3gcQ;IShowe6FRHx&)$uOQ|s%t=_dO>Y|UJi6rV$leq1qdVJ z0;+R^awM{@m&^8`tI}$g3{1TFR=K6=euJ&xY&3L6*I{Q{O94;ve zSOllkM-E#Qu!6%%O6MQNuDn-fy5G>G)t|qv${ zX!FbWWOJ7Zw5eWJjiYZ?R?TkEP>!&q^S)SOy2I3Q&#IlKFn{sYq2(%5BfkF?cx~1q zo232Ock>8gx;v6lf&+$LRmA>{#q$RswqYtRhRoZhw_7^rhnSTMoyVr7r8i%grp;M6 zHcxvZ>AZLNend1wl;1QD zmFkY+*EYd~y}oug#V}{r^32F+I_Oh-^^M+Ml2s(Vibwv;^t{5O~-lX8Zw(kqE{_Nd1?)#yKmp+wf?O3HAbb~Ga*l2+1Q|A4HwtH@}&z#6GR!L!EvpP zW%7VwAV@Y;_vcDlbaJ@39$Rh~Oh}26ERcyOg^=N{<}c}cS*B@p|Gs+U6LP?A^aFp+ zXYHN5tW>BOkI@P^tIleFJL#Se-i_Subxg%Kk#-8Q02VHM=CAnR=?_hW-R1c=0PR~h zl6XJ9F!7@U_nDVuhKUQq=oBzA8}1BOU+r0m1{*c*{)&RzBa|FPP(gJ5Z+=I2$nyZC zekWLD*qq)$L{}Jw;=}w(wEhY(Oexb<486N=ugD}2`i2oSdldJjt(csE7!?d6_x>Hr z8R7G9o#vI5_qKV*Eht{NB6R|q>3r$|`Zg+b@+8vaHH9KI{MHg8m_9rn{NS zk7IkKLq|hG+9<^*OhiaXuI;Hj7ynEYR6Aps^;>Cg-(HmD5nk>6W2wxQj7$|1Q|@3# zG}ElVtYBPb9;;ksei)C8I92J+-tKt*8++0CtFMl>oClBP@XnYB*+=4peaf6?&Pn>| zTC8pU{&M5&N3@oS8_y~gl`e{nf1>>K-g;LZW1SiGmy=oN)q}tbMf8@lA!IlcvLEZ@u$vORV)km1_+6*Wxc$DYj`+1bB~@`YKbq<<>Zr^ep{JYo8$;NU znu8V+u#~BKI%HpPgs*qDgDNI6z(LY^ueQHbLS}0AxRfPYf1+^Gxd6BPIv2E2x(RZ0 z+U;&?kl3Q_$g%F{4d_?t%wExp?vcO6o{gCuK04y}j+;5fyc~Nn7o~OL5k!gl=;m?E z>(V1G+jVe?qn7@TpGYdB%(ydDvf41gpC0S{gg9O!(~H_o)56W2K5|CriF^QU732Z~T^I_WDw4DMU5aXzkDti`6}eX8lx zDk_7|?MYkw>Z-$idyEOQ5UqP|vGP+nbOqEPJuq^@F?L8~gX}R~079G~BP!9$i>SUh(kx_!)HaoJcbOpR$~(aMT?eU*?mbp}}pr$y#7)j&RL#m@wT`p9QU1+v%k& zUsHkfl7py&%Q^?EC&svYWH#?<`oZ4&X|5!q(OoNz+tz;jIYQ1m@c!3`(~2?GLY$e0 zBZ-(;<>ACD^70kV3vOv-WW(ajdkQzA?r*Q-i_=#gF8}!TqjieGCo;+CipVC(h~?*r z5YP-8@pPe0RkS9K#bCfrc2@e}sExy!BLz-@@=XwRJ~3NvCdlFNM9uqyX;Hyfio=OY6C@`_uaq03tHO~ABzqe#5Sww3 zy}-qXgQq4aTOVXj>`fWq7bHMUwd{BU6Qb}zvc>-6Pn|MXIvsfS*@M@hFpTZv;T2@C z#f@1_RdJZ?ti#8n6ymn)?iFOm(-Yqx_3|Z7IMDsHr`r^$JQ9*egLJmn58e$(cOA&~ z92%zQ1xxs)K}J@SdT=cqIF-Aw@OSv*mnZ3|EIt&d#kW4&LC0IQClFC$a2*K^v+r`+ z&^Pl1UjH{La-UhHm%Cz*Mvn`gHn>X222A6?)a1EX`fyUret1GOt_3G(aKo&<+(Xd9 zW@ZL#G_!o|Gq$IeePQeS=-cLA4U(CdfPSZ!*!15|difqt1n<^M;>_GPevQ0nHb6L4 zHQjycR3T-Pei3=3F-kxdg-aLrq?56Fv0=Wyf7^)(V%XdBS0i6K^vXGH{?@H*It_8{ z-CZNK+3b;>G1*C%C}T!O1#gja13WGHl;h}ORwy?~$>4eZL~)Isu5tA?G>wT?t#_TA z2+YN-q27M(9xOW2&70m z%6}c}9@_a2Vg>D|mX|!DBsmuF<-Idd6eZ;uep+&@&x#iHY`O3D&kzus=WG$E(CpQ{ zH+}T3#lJTCmJes1sQclE7ivd$0{7ZFKtY089uBW9Q_^J`4evd5#$Fy+vE1ZEXd28~ zefzc$Eo4MezL7s*O^Irbel19g4DLxxcIJArxo_yAVVhD#j>&b-O1~>Y%K=BYe*_Z_ zot_^wa+E0`oSN>wNmAJ^=1%dgby)8E%&m zw~W0sPnWAswO(bqa-Jjz;WpWSaY|=XP6~^l1ZO)9cwkc>WI`D{`wY%2kxkMe>Cq7t z<`zi#f(*J>osmx~To58^sJ9t!FFG+-o7M zRj(loI>O?pYu)1^(mxocsGdboyM_thUAR!4k^Xw8<;nv-GIB{prYk8$#s24;=c`hE zZ!4oho6iQO4yVWxu92mxRO#D_sK~*$PR+_4RIM5%eKBnqSTw3Nb8lGg!5H@Rg=VI( zJnG&2TlTlX%J_sp|H8`JFJB$4{E;+^Byj(z=*ez5MH{%7@D!EqZ5he zFhsr&tp8f-_GEZpZp!1ieC54aMg6Y`kYbgIcK|ErhJEtOt8*1LC|>1yr%MD1ZP!U< zd#S0O#~`2lP`fE1VDBjX`9;9K?5%w1d1##2OQvW&=yju!GKaO>hUST+P9l_H z;?V2K$+p6dsSyU=<_E78qJUIfdnPcY4XVsd6wy{Ij+D290q6`Bbq@9kH zyT{+n7o}clF#pO+!p6j(i>av|axM^M3@5;mBm)~+*24R8j~*aC6-Zo_CR6jdeDAw9 zo>MT1bxkMjBu~x%Qv^t{3nm>go0)REUNz~SWrCO|P)6W6`!4H+;749Ry`XT{-oDWH zmukCsuJ;3TsD)F!I*B2JXfQ#4`AP$|5PZ@Wl&bNI&S z1Z=W1{A|@Wpn)(1KI#%?h<2*;bxOE)Pa#)rDmX=YEk8j;n}I@mJ)%Ey6E=C5gMvnS z{nvmz-5SB6L4&OnD*ZRy)DicweS_M9V|FF~mnS?I-54 z!pmq{B$oa})6Tw%KBfx)V|qRW%sP!ygMrr+)y zrA(=v9{887N{5^RrkfVYbXnTX$3Od^rvCCSl~^flD}}bg;%SAdpczq}jEN@|(wIP=)DTVfKd}_yHQ=Z_oj`ioux86}y zM1vI7C){_Ah{Lnz`C4h|!C?WB#|vKOR?uAA*hTBf9aCAPp>b==O#^olE;nfIv-5r? zuMlY+gR=1>lM#w@>eh^tqL7gy&>aaCs33nJBt#pi1K0CghV7QE-1dh(K9^u5;4r7g zxhz9dL50_(hQT;h6>V2;n4{6oSK(eh{u9~miHW}~Dk*!f!UR;;3XEfl%hI#0=C$(e#dOWt?&XT(CjQy?}%eifE-99|A3Dk(k>uvMM3hfxUMt~{24mEE};;oObOca=TxnXoOat{<`xFjJX5u{D~CgWVBoz7xc=#Wa# zD3P3sz$mSbQPQFjN4N71rW99Ujs{%aa`_y z|M#(AMOvf{%Nrr-AD5Dfq76I)q3lMq$Q`cU^|w!=WKUCN;VphKey1A|dvwS(Xla*A z(nINwFW>I|#gi)u(Vec>x!pfjOMY1U^ENhBYDh)<6*RZfkk35Jq?}fEoUXt3D1#?g z9Kzsc;vzZpH2v$O%3GOTGQ@3&uD3b*~y=VZ{_f_v63h{Z`SE%EP$@&zm^ z+J?~FFU)){F~k1P!IP$FAXjDlX<-v8_Vx{$_ne}xnTHS@xf1~7nxmW=vXBe-2k81A-eqzdF{Tl zJyugU9A4dn=Cbf^m40&KmV{A*!^(z_BVSJ^SDfaR><>v&-bV{?c3rx%1PvNv+|C|Fsu4! z1M%}LyNkuoT5_MhmmsRb22QRVPrsimMbW!ao^+EUlNR|f+*e}}GB+YVobxEscV#Xf zs&NIJEJ89CP>cxF;s920!vtbSNK&YbAq-N(EkA%sl;M8&JLORy*^}AL{(a;3Ce{ab z2MRV+fFQUw*MJ_r=gk+`{G{^0?%D&P1CLq9=`apyE!-Fu=g`X#CkOCsUn`or?#Frh zWD3;M_hif+(#~eL_=fGXrC7$eOQx1p><-Q{o%;g(b7AaAt+`%1yoUtuxQo*G&qGOI z+09D-xirL8xP+I`3x4gD*m!6+Csj3nx?SVsr`vRCVllix&*->aVd7`BkSTnm`p&66 zScwysaMAwLLD4~z)qx#0&08U{c(ZVgLuxEo35P3~4O?42xmCAoRdI@ltoedlzr?y8 z9hGuiekkX<zb~-g5^w>E5n<=x z^L`i-D)V*LS2?eA7NH#ARh??Ry>$3+bF+VGrf~Yca7FqR%?oZ;ss^f0il6X6m)Z+?BP6_$5hvRwVpc}OYWaQP|~#FaVPuRa~KbR?&~ z*NB%n-4t}Qo4C9l^0j`XhE#td&CjR5Hh+QoeP~`<@o|4}+r_1sq9MB-^5fkh)t*Q% z{3ASi{9-=1cFsK7@7S!g32%j;RzVc`dK35kh^@Ek@Ud&gDsN5C(^7zIQ;krhDVPoH z4BND|pHEY<>r-6Ld=$kl8)`Q;p4DvD@Rn*)^5j^sNB)hxN2VI5>%_0+L*`Rr(d8UZ z{`ykhd}_Hg-T4lrWtiF{s7aGrrB*!#fyyBSt!F`fG@C?|`!J&NSMC;IT4n5I*WBkP z*iWOUn&i!nJFfIwW$wwJV6#ooV{xc6wQ_#qfmdZ+Ke(}?^oHpNfAMa^K)Pd9y6J~_ zPFSowfVd1g*$&pngHFN`*5p0b>zV?d#{;EJ2YwuSB%&i;_1*6L#o4Z3c3%4_a9GrB z&R!~ZN*W?Nl8STTZesnxA6@rz$)yKs^BU;By{yQ#|VSXnfk0%Pn8=+uYeHjP)Eqrq>s)D%WP<}@2vaY z)J@W2kJn1p(;HS_9~vHWs;Qec%N6xQ#9!w6?RU3=3wu5;j3u?3?aw|EU}Sbsfnh_ z@6$g^gdIF@%5gdAJ}6u7_bRTEfW7mD%|9!N-e5t_&!*)&F%^+$Py@~CjS3_rJ{<6F zHFGR8*4iDs^Yn?Ui=m`5iWSLOT~Il@P7#S2%prIupu~mwp>1 zO~jC3@B1#?KL0DUbvU8OvcvP%>#gNu!|vlE4n0{zW{kAySXc9KonA*-u|%9!_^hYz z0&(rB#Ss{f6O-YVx?dJf^Hi*n_jV`kgX>Vt>uzOR{D|%JxzgDMGbjHyD{ZSJcj`cW znp%d0uo#=UjX}59TYE*Lo6&xc9DCgl0<#vIT)y0g8TUu7%UBbf-L1WIJeKg!dS>C} z)G`XR=KwEFN-ctA*Ybv6_b6^3Sw({G7p`szJ!o=s)c&E7K-2 zRhzi|H(EbJaIrGSx~khAW3&@(d~+&IS0N)Y&FR4rZbRlHv6>niL&~oG*tFH3<{Q%Q z29{H{tFq`gz;+#5y?_MrU{yZH{bQ7eOaWZQ_or&Zo%J18C-atNZaHdz;O-C=)?}(> zw}_FYo6r4o_P5LJU*YrSRN+;=0g}?8@cb6snuP9xN@p#AwQE?yn2wbJ`7fi1_6C%Z8urEXP_D(fVvelat8r2$$>6! zu8}a1(IU@NRAJ{EvY|sapVHTleb@V@0L83d3>kisq7KX zpreG^T%3xbxTJ)5e(sR@rWxq6B0@E}I{$&40xY3`4lJ1i3pUWvZ?%YgW|sq9yCmrW zJT&|MmBdxfy>+gofcJfZe#8SrKX1~jv|efIkr*C5ItKwTZN@Gq>@zfp-F5Vl|$WMq9=;UK}F&#TLvo&m>qwX(@2Eh3|TLi54@Mh5m&f zZHkTd>*AKX+%WD^ao5a|I|6KS6WMvKCaS-^;_`nrmdwwW8vITxBMZa?CZ9;(R+as3#VQ&R#wa8iaIqaS^85gN4mJXypuXZBPGB3iDnG6OBiDIlJD zck1;vdOOn-xJUnTr9-}*VEr_BQ&kKmu(>{wZ}SXlWAKqgbUrWHsmChDX}eKCt%^$n zYNP$8)g|he#X|3m)8&0OQK|qWK#hIESxMr%$)B}WN0#W2%{=#0hi6T;y^}voS-FTJ zLqXJS*4kDs8wy!IcF%|kWdfp8yS?bztg19P)aEL?{Ofl4uivec#=^C>^ju|hCXENM zPZFWj0U+wuABfbltnb{2Sw(V)D_ttFSXCNE`t@G?1B9l8_xiQ(3O+jOcDT1p7bxYMiZersx9nY17p>Q}&$gVmhXoy~RMdpQnMAsQcS zcqk=-j+klL4_EE=2@RFqf0$s)lXRC4;tC0TSX>$_{8~%q@lA+vcG3%OU5gjlp&)$6 zxAV3mXp75d`MDn^y+^35Q2m*^R#&tpGbH@3{6AGDx$Dece zXp!3jl9EYE8C^W|Lcw>g!r+()^|&rU%idQym$Y z|Kk^NlgY3bGu*C+mED}M5{+kOURW8pj*UG_bXof`m6T!@Gmlrv#wavCH(aF9_OK&SD{Ro~ z!oPd^j!^*-Bsw*~Aoa>lO_e&kZTp&-9Q9S$Of^;A_x9}RY4_>wL1W=C)7Tl)rC~dl zS_*Bxu-1pKlJAx)f9>k3m~4=Bx7ONuH^uM?HG<2U7p()Ujk1$|9B$Vz_=|Ro;4s@ zE+M$VD|P>BVbAnA5&*Cvj}vy(*=8-Q>`{2}Bcq{muj@>DP)4QY5o9PI_A(+T0JM>j zC}+5QTPxPVDlJHkOU8;%qqZ_=oAni3u}YC5$xm-pL^XA zgUMH3BdeoFX(Qr!6&D!-aW`VW3=Ds<$J|v;G+OvI#uxL^c#-}#4ssLEMy8{een)R@ zw{(p~oQ-@dv_uA$C$tBw0U(w0i!zvz58HF`U{!bqV+7{5M)z*JF8l>xs*h75nwzuh zm#8?{SlbLk`eIV!uU$c9D-1(m!jrL=2DkC=Jh3Dn2y#M9`X>bm6$B+iH|mP>tCT3q zGjZB~$lCb^^QU-;3k9PR-GG<17es~8G*uICp$ zSSnj66S^yOCaP-)?`O()P6g^Ck0wZzeuMz}+=x1_G@5v)eT~(6RLo)R#aoaGmM7rVkNR9dh7u?ySDOw1yP^olsE4$% z%+4P7Z%5-8h{UzexVr+0xu=B2<7KPeX=lHMQu9v)tk1r;>0H%1x@z|@+YOPNi(5Pq zVye1y{jr%)xR@_~$hp4kh`5qcyy4t5EhFtWBsms<1&C0 z)V@+gBS30X(O5-^8WFSmRgI~!F1~+oRA=1eS<-N15r)gh0k0mNS9~&x+06Ei7}a&0 ziSYWagQ6y1uemt+^VzoMzMBM;E<$h3XMgg1p)yV3`Ew$M@-kfEFM>^SrH_+PjsVmp_0lQUvOK8Rl+edG zaAdI$DK|3P4#QQNhXt+q998W=#f;~s4*M%=K=;QyJn2mjueb~4i}^P4v+YfsN7=#6 z>c=Hz`bIo_jaw|6p?I|ZdT!ErlndP1`INvnWi9(;v&mG?J~x#?lnJ>+keLNmZ~`no zH*Rb?hE~QR$=0UQxyl)l@r2@pQ5G~ka=_GHwsFJY_Ja%bU+<#ajBY=G z9`VSU_G>6We@zC#(QhbiR{SZ~@^PL5irA?wvb8dHWbmnd6N_$EBVf-!1JOA1$au`3 zk|o#KgR`NK=9~l8$0mqoo_fy=@W0?1j3)i(v_r&Z#*!by60;BEoBLopB+=Wj@RW5=*=1BBJ6jNPi{1|YPimV_rHJCNF-(Qol7EhZ{| zj8@#fgv4L4!)eX@BQt4m4y8nNbw^s!Jm$cE?)8QjQjyw}`LN7fn|U{)4CgO1HItG8 zCyROKOc?idV32>HB@HN1x3H_<+SNXp(mXahd30WEgdRW2QK2m_Uv?4MP>c{@tJdb` z`$v4764lNrpQns9sWqVI%lHFg1S}g&PQ967t2Q{w{`7ZR;yKhhN^yqf`st%elDufb zW2=TnaWteHleI~1krT}Sx7_6Td6YSg8Vx?u%fLI=xwlm`@tk%?(clJb&BaeQEO+4K z5my1ZjhZ#(0SCTf?z2B(5_i$+CM+fGMZrI?*?7`iSK^~T#nyo4GOT4belRR9?lM3? zzWJW*^R(cH$)1?TH|!w2=VCpC+&yF@r;kTDtR@O2*u^f#!Qd5kZ74qp+)CA(t=$RZ z%kMKl4by(8eW%05{MH<2GXd|d<*k@04uRno+uUMrHR_XtpQoqj21^#Ez%)=px6}Rc zSzqndkJwv2i)9;qLPGm9$sXHHZ^}_&FTnKHZ!!Kv69)~+rJif0tk{$p-7@C%{ADti`VA2 zWw6|vmwWNc^->v)QN~=Drp)6&fB9cOQ_UKuOy|Pr??ekZHB{AoSwOR<_s!I<<`!e) z$q2Y#2eHBaGh>dxnue^DU)s#6Gh>@2gZ~O9uXr(@g5Zqv_RxsUIDV>#kb##~+mCs8 zys4Zq;r(=QQ3bwHrHk_O87uacEq;t6{WN?Ict4-BaP5TP8Cbd?NQJMM{p$fS&Dl(K z-<Nu5Zx|Hk5Mv516 z=FcGZGhngLd0|pT@;%B+8#D)gABE^2t;5#rr~i^8#&P89n=#%2Pwqbq`9$2jqScum zeT6|*O$m-SHo`RRK5BdpH|d4iV69*6N~smQbqp-1nuch=D~y4L8kXg6e2DH+M{G9U z%ingqJ*rmZ;Y=FSZxX9hk2sAu?OEK@d~=tWX9Z_lhhj7ik0^Fa5Kyw(1!OnGK?RE35 zmQE6m@JHQE*HPV%5tYLGtO)9noJhiVI^<-o7AroK8&>fsU3`sR8DWpEq5-_BIXn{S0e|A7y+=msWzsop- zi~@}+!2xSmz+WQ&L!<)o>mcBz+uvKJ4QaHoE9U>9bN>zr3z!?E{b!Fgnq-7j z?*G1GGM__fH6>UUOJf?!@SHbt|1g=mJ7iDf=JZC*ze>Ac1=+h%hd1}xeGor`t^Zd! zf_jj>)sq)|GpD(W{pjG_f7sOUEVhe(Htgwjq!rRUdhmzb-AXSa^;dRp9Y}6Ez(dac zO=huiz^0^w{+TE#V~$V$gj^v@V6VOf56qdJ-E6d|RG*__c7i~A>2Io+fapT-kIcFY z#>OH+0Kfens@%9?*R=nz&y(s;b!{&iS3K*S~lio&;*(_nY|9*LuPVkCU>m`u?~6S>P>Ui=x@8 zXRO>C=~Dg_#@_lm%-E1<_~hSo44{{RLW2I;nP19|L=QA;|LZ{bcYW=j{*NYM0Da>8 zXDfdJc`n}N_P+^)|GBUIgOrK~ks@sVsGyNUmNPtfI! zFp?#g|4&2epWyue#r#8S|Fprs8=%M!6k8L~yMES9xg*e{w|ew4&Oi%p8;#`^$a>|xN+A7x|J4v(^2NH? zZ^nZB@fmolm0`|>Jb&ov@lSv+9P1ie%lNfvU0& zs|gb)iFcaQJxg~G)~5ya2L2P?|9c_m&`}6sHzu$kK-|P3s@AZ40^Saz~U)z0O*LCi>uKPZ7B;f5VcsM0E znV6V(tSpZ@Ffp-!Oiax0*_jc_$7=amGBFu2F?ll?7%&+iZ3>fjC4%o_ zyO+0tHv%aJ2r&hLes4t700D$n>0OCHzjq}A+P%^ts2ECbf{MFS446{94N_7Nk(89m z{*-y(;mtN7BnD$w36VnhNhu5O5$8Cr zTDk-=F-gVm{sGAoOI}P&dzq|`nmC1K%@6opxX^R`iF>P6QC_iMt`+yUz|5mo*RA#x z=JZ}Hw9>v2JjP&{DY6f~2P}t&=NfuWQ^Sn)f<|P!RoBDV_WJxR^kWjKkuYKcPog;A zra-9u3NRBF2ll<`|HsjzEAzOWg^@3dhcergZ{i>jO*r4k*cpq58mYfXXQQao%Jz{= zsqEO&KlMLvu~RmPQ8!jd0XX`=M?O|w)DKy>4(Y>N3+beYb!K)mFkw;yMg*oh z0!XV{fB!|X0(Esu45M~t(!R)mSd_K4J##IsYpRX95ii3n$u+19A6-#^t3KbV+8P~U z8_SDfMiYE(R>Uc@bC$w z`O}L783BX8Q+qI)vlWj*z}ovit)(a%-bCCAM8L}S|7knjMW0qa!ht=qm7I{00cjE# zux17a_JZ2Q;Yqq2;I$v{DvB4$5%}2Vz0tY-^*pNee4Wshb{@*)X;9n_6!#Aj{S?F; z-YrbN4Qcjm=?mdwkO=hoKW1|>6}JJ!FP7KrhyO8MFSG4AbfBL5q%wTJEbPiioSM&V zQ4Z`_5r+Jjx#=645Pg!}_uJC2Fydc2YsG~BUkPOHL{wkk!O(0-vzG<9tS^!Ug5nF` zrDv4g*|B5U&PTTtxBBrr#T%E73TH>DKMoh9GPkSA-NGUyF5S^rcK|h-N`UnslDc%Zr z!rw^ur@5ZpAK%nySIzGb@RrO^c0XxwtNq|dy<7Lo`hEx9761JELW*#5j^p>eNzxaJ z!j~m4G+$j7^O%U8lGM5#`vqBSEWFb4MUe}Vp5|8<#NZF5K@Y{>m%bn=<+mTt!{sN@ z(FD0HgId2}N|sk`5QSm~7BoG3aTv(uj87VTnynw7F_@(vE{JcvI!P%SNey~B{XO-C z7Ldzpk<|D!NAF8UW0u}F2G4nIl=6BhIw)tlHTuOqAQ!`y^af3^medQs6gepA8y+}F zu>w^-hrP&;otocpcE)YBjoFiGYPYv)`IsK)1*`_|hn;Z|I|b0gJ1ge)7R=#miSa~E z?8RM{A)FjA%0kf2(ls!+_2&xn_NEg3Ib_heI$qt`*$L6}`DBJZaUrr-f`heTT-0** z<`;tP~#!eYKmrvrNgvbokukQ5EQ#biS)a_UZ zS0!}~!d2jY-KDA$!$nm1O4Nc}SX$R*{r_gE4zeyEfX^9^FE2Qw|D~V-_cQ9+Mh~Rx zsvnk-2>bC3@fXm)61*A+E)IUep;rqs-8iu$h*$rjETXo@Z~jGDJ0_2BSXS35L4gf)1hZG#$>u=?TLkmvFc zW9iaHSJ0jwVnhQq-wI`oZr@|nAVHqr7?xp}b;b6d3*E`Ijaoyrqj$C0f~n@Th5Vsg z)jb_w&TVdmAej%*$mS={&wi%{v@%NOqxe?s>C21(#vq9?7T?b>ro4kNu`A}z5BRcH zY@B%|&vIZN>0J$0gq=p;cRK$NoYMP|E@*KMWi4wb8Nq>#)4LYj{kKKGEqJn}GXrvn zm$&elPs;je6VNW%pmR8gSF1rkD7c40*8dhfMefXo9O8~xMA_P9zp#n2lcI58&GfEw zlZSitzj6=vYCw=f?1eAvg~Y>b83I{{@0{8i*8jpiGOW@3TDe2Rn_D?q15H3>8M3-8 zQS?7^k5V*RFZp!HdJFmdkMCvByQU@Av7q;+b~5s3Z_y>sn+MXxW}28OJDLRMmQ$kH z;Ft8$EReNsnBAa(dy-wVZ&Zu&SM#Y>%lXW>Axl!trSkRtSEZ4>)z6+oB=_$_|C7`g z3RIy0fb1+ta4xILXpp>)m zjeHO4>M^id#Sr+>gg5Q`Mo-J|US`LheaG`ErYjxl`f3P$gRSIZ}7tpG(PAUE@bU-fv%c`uZ;`o1qnd9w$n%|I0kaN2WTQ+FL0h+LW+KYS)&nk%T+arL8 zGXuFb-oo|cA?_@w)>EQp2oI^R&6h+Go<4Hl?f@t7rxD>xnIMZ77RW7VW)a%GJ5MF{ zAQEaoZtf(2)Nl;`GzM=ih&R6^jgS=qFIadvALdrrg>fZV`$ul1-z_wp2viQK(0 z*76N~RqgTbF}uAPiXwK59ea88<~-8-$d3KE%7w(~4y4(7X=DXMIF2S94@V+?(GWsQTs5uOQ}@T=IlfllOXmxYTCc!R=(H4d!b9)2ShFKz&VTqeNlK7hE< ztpszI1}+N`WYL7{55n58FgK!c3BS}$*F%bBS)Tg`N4z;dzFPsdF#}yXs|Sl2(SHp9 zFNn3q5zoqxXB892vv?VyTA5JRJgC;wtY7SQ7lF%HO82`hd?+$R(oz9p(gHHRC+Dk} zG7R7)3|RNfTo^$jSLOW-;SHh*gK}sm6PGxs%k?g#iuL2i9}rax;$@FaJrJyMf?HIuNODNW;PVvWRbec$eshr}C83PWZ4Dw&a1^YueB1Pn9@;Ap zpOHH=EJVmb6SzLjx>C7@Q=vcr@VbI(4HQ_(gM$^|U?B};gg}%v?(FEKB9_LErG4T? zOnm~C;eS@H)u1cU1h3J&wqy8O0ldhxV`U2;Gpf}z`djy`1V3JcL+TJqt|+hzl0a@c z842rSe!Ri-6CIXZL15xm=Q&YMY&JXAhwI$C9A^z3VB!qN^E`M}7S1{bjwC^WdEBljV5S~PrERO88UeWtXOL0sl;Dc=-R)HYB0PR9Bc>}03Ve85 zQ4s%B5O4SJt>=q3UUH~b6^A=ECKqi%{Wz!zKw0~#Fu#Vgkfr5+zFCOSjNXM>G{HHy zxVNP+BL-T2`boeM--p4wrPjEktX)y9`!sd^=O%tC!}a?^nuG{>XhL2f^7RkPfV#RU z(1XUDQ8eN49X9_>CV~=Nzc-519EDO9#3$`JNBp*;V>sfZ1WW2RMvWo!)`Ot_>!S^F zw^&;-_$1X-61yw@G1O)E09hIq9N78WzRvgUO>9xE?i#h_=Cv{RP0UcOCULF8p4_S! zJg=(L8!Rz422D8f{HV{Pt8wDD19$t{79fW$cu~=&YV;Q7wE$j%gHQ~)~`4)D(4Rx9RLTtT>CMeIWs}3qZM*$PZ>syP`3$I$` zBYl(l)4!w>cF+X2TtDF@t<)SSP~F4h`Q)p8NDY5yCu$0{vnf%xGs6lwg0e2j5;l<2)>Okpt^`yk8E!tpuOx=qjit z-Y-HE9$SgQsij&%6r_6ci zdd(k=Yd`!?UsU}DC>$J)GN}2=DNI{Qy^rLBztNo1p$`S{-P*1QFA&xGv}r?yuB;#k zWV`G9cypW=c&^9>XQ;&q;UL^X2eNTL40?rs&#^gJu-^{l3SD! zH#=YY6CYQjgAdj8b*fqw1lpfL8DyL>(>zehLGct)nV3?<0@=qZuWEBS)JAh4Av;nl zoxA5r3Ywtva`t$mz0FZnD<@_WJJRw=9@hFQ$^$5B1KD>a6dB)d%fl-zPwwB*u-4c9 zz)msL6hZ2!EtvnzOxReblpQO2?CJBD7X%Zaz|xnBt=lz7g|2x5-JtzJ%fUe{5{Y@T z)`#`n*(pN7uez0$Ie~1G{!ACJE-LUjKUsWS&1`UWA4Lcqj8b*_TP_#_1!nw2j-FAb zNS>63V~r0Buw&D$2H-!$oF#Nc?Vks}+3@(7)>B9%AC$+DAmljpSp`4c(QzJi+I1b& z=EHBZh*^Vv-v-%sU6{a3Q_~oLm=#z9M(+rnioS;AN}*Tw(ZXUDAeST2N;=vdUGawV zB88ubIdm0xyas=#u9YbjgSt$wE$|ex@URZxCH^FGn{Q$_vBxVaTeN1{pexQ+To_x`I7->C~z+ zoK@)WdyoDBJc4SiL2LiM(1|4RH)Yuc)bkZ`u<*}@6{>gM-%Ay;Fv}~OW(z?wC%S^^ z(UR|dS$OM2)eEfw7RIAH9<-E=CA|wqTTWZ2e_z2+J z<>0@TVA|HYOytJjv5?HR$+QL;ZD(WOv(i@?Tj86(5lT8~erdDF91Pl`uO!Q$wy&&w zZtK8>EyspiH_H8qY8<4^480-IRwsP|uH^L12c+JG@&Z>pCS+k;)yE-g0FRuid1@;pG>c)vaFCY7I@Nt~l^jIi-YUt_dQ_SbDZ8H#G0 zUN?*7O{#x!Wi2k1Hs#0QGX`wU!L%?5vih5VbMFmz&eJUVqsq4?C*4R9$-kF>Eu=ne zxV*9UL4NU7W`w&Z;sbRF7e%jLa$S@U6d-#_GuKiBf48a8|Hl53@kb_F(D{*>`QDJX zwAM$bj`90QT~Elk)LQbnf&G07zSNGM{&^Yh5Ou=EP*iK&VAT_VfB{J8kA2t3nqZYWn z^GzT`;HK}!c5*19k=g(7(B`GZXC?bdbyPnaw`e7K_-pe_Id_exe&qnE6eMZgeK2?m-8Qa2={XgzQfq$N<^VV;TA2?)7 zKk%dc>Ac0<*))>T^;N0s<<4+CVMn)6kRR{%b_0noTfideOIbuuP2&+HYNuWxVw+Oe z>q?@f^I#PYUvt`(O67nZA+zgfJf-Ybdbe49H%#+P?vWS+dWBeiz9bZBq~9vf

      oo_Kv@_X`tNAmoFdkce^%hw$B6h95IhLQ`UA0@K;8fy&<#y;2lRdxmh zS2Cs-MDR$ax6?Y|I2nHGG1Aj?aZqwiM>d0LHYW*RyS-G9)p*?Sz%_Q?1LXs~A7eBJ zn)b`V1(XCfB@AHeRofq48^@w83bc7P)`g$3Q#zBe!huzO@>WU9Skng?Z!hdOvjlUn{K-nBbjCv!M(?m8>glH}#nMBi9KIOq(b5D9FzCsex3t8= zi=tDWs8+wc`Id^rAWdLG=f@4tLAEI;WV58y-twt1NCId(Ke)$bw^9h=1(NM-P!dDm ztCoiE+B6s{^OHBd8xwaEgtj5i(%++saJ}#HZJS2p5&^uMc9@BG)GaqzxZV=XkKFB) zK4^^gj@lVvzK@_v@G~A#ggM{A?IoV~iD>PzCEX4RhdHhh2u+2|5A959yx-)w!}p#G zt^IbXs{Jq0KaX;gLv~>FZYkV{O#y^=4b^&WEMQuA#>s3 zJdLJeCM~pBbSzr?6?>HpB#yez?|z3#{%Q)uDm?O-oY)8hOJi0FQFZWz2>9Vvb_5@@Va>y&+cj zH9TzGxs&+GzA=9kntKI3llETti)<>fEyWU^+(B2LK!Ny_!#XWulfwsri4?5vC4znv zH^z$>$sUA*RTc!3=ilA=c`;dFNmysO z%70gIXVu_{XZMx7c7;1llHZ4*m$nzKS8tb+@OcQn_>_SLCL*pakoD5U;*iJB8|Ydb z^8?Jq$KVSaJMaa2u)Wv>43?uMyaG`YM_;-Kt};`^r#f=s$kq6?BLN6)~EL%UZF)w{4P&v zR0WVy9{ix&$uassDByV*J4J7)y&=JlKj3AkVA~NeOlZ;WzHVx2s3{o6|JRsX&*4)B zDoL9I**(ASKR9eD;KQlcrGO4jxocrOYy((m3MQk2@84w`v{AmN=kzJVdoO(Cw&8+6 z{5`$2XQBTf^Z$j&-!`1PW8l(KV9I*}*?cRH^N0mv9k1DgHG<1@E`35lwKB5PuBUm} z2?rNFar~tO53m?bYJ9n;|ERQD9&Ru*8rPWmHjsqO-#}WWK$=yc9$)C zALZ1fhXqKz7yiEOdfuy8v+P1uz-!-3gy{7*Z~rHDAokiZu!i?mPn^{L1y6UjeOBO2 z&YP7yH!9zz#Yq(@0Q1;|PTs>Vy&r6vA4BVc8|O3qqpM$h&MuM$=9L#}4*f=5vq(Jb zVub3m9ljtHQc;~I{=g5IFj%FDgjTeavq%?<0gB7>BB9#lvhbPs#(q??_aSsedJ9{h zKbM*Gfo12ruL%Y)yVcIw%0;` zHTYS)mK4gMfxO{D8L^3n+7GN>7P(nFJoY)~4J(j+cCK#!dT?`Q4s=MAD)c3%Jyev# z*o_6%clz%U|N2BUQGGL%h28f;XY$p*TQSK#jlVg3T|4>SZXFPccu!gJQig*PBcsfS z>N`;9)HgeDN`ywgXG{c?m0?G&sE|0BgY?@YY&N!_D`(UVp3u_2f_G#N>HwFq^iCd} z`zBzkrwd$Grhm{G;T%mCi)yMzS7dKab>H517w56Vv4SCcV5_s&1iWgMOg6IRaZr^&ih*bFbXmEeVa2leD{d+7KuAQbZ_C-@>YOtU+TRPzw`az z3t43)SZ!RdNIdU9$Vd3pLiitub}AlOz@wm;T8LyHSI>->1-V*4X6aqVweF6@-7vOg9sliHM* zyJw_@=i0H88QN{I3Oj|+_2=kC);6t+PfZ;8$-)!*PcJIjYQ3_WQh;Z_1|78R19OhA z*hmneH%gtQ-?c8~SUoUM1kTz%cg*nlX_zK)-5OQ<_-K6BD_e!9I-RdRa8Pbz289JkTA{Mz02unf>}=1r_`-<`k*nSOmwcF$}J zPtW{N+N0Z3p}|4%4;;{`$ zQ=Ga6)TUY6b+6S%9}yrIysUHS;_)A?`G>J@n)T4q8FX;XEw+wNQsaB{hdy0nr+9EA zpKVNCvGpG>V5c~U^PO$X_z%Ltmz`Q?sTb6g8p}_P)0D2ct)(pa`@5C^IYFWR7$(Vo zGGq6=IH(}*W2Yb7oFUIo4)d(H&}{doB(PI3DtwvG>a6syw?2y(B(nrczau#2OBzi5 zREd|i14UcHemdA?2l_g8905DhSKy4=7g-mkvcmTRM(5gtyl0XEld^+mO3}e0`in_f zj(cuOpbQdTZkTtKmbYgI&qbqyF;)Q&US9CYK0Mva%t6U0lP-N3q%76{r<|X>;%Rh# za$*1Mu*;OR8QAe~J=9CeaP|)?@ivsBI6vKL5ZYbCW6S{nBF^X#Cj+~RnGMaSW=C{%dar!T6DlrUx8Z6WlkQwHA& zq(KX2q zGt-WI0o&W?)$28U52x8$jUpGOkrPhOgt0}Q40dC)CV%k=c<#}T*n~80W3^e`9!xwI z$)_NLqwakDvIy>CTnaKnJHI%5uYFyF#>X;A20(<%I$i|*>tk~I!jqcK=dejRdI{Yex2t($TVLv%bjB+lWmr#7_#U%&R|;Ck_7Qw5+rwZ z5oxPjz3?HRct4}FgJcpdyc|GIf=)hWj86@{=gj4xXbAJ#(xsLI@a}P#!^nZt!bwk) zi5&148eSD-vsQ1}>&Ks|6K)%AO=jZs3#wn`Kkz*j~lOy%LvUfR;IrTnc z0g4NoGD_aYDsl>v%dE3DF~@%PKL3O%+{GmS2gZC!@)5?BaH>hhC@yFen`#X5?B?>9R_CNLacpXwH zx6HO}-CxEDL_BZr#FkrSnE5-TLB^`V2V09Ayi-jxolZ}9piUpp7IgDTGcEl2dpz*p zm|!760cH_47>YYtP;u?QI3pYpJm z{{nAtLD1Pt8Pv;%bSht$evVV(rF_&l5XgVX^+e@wL)~!ry1#Tz9;fsbSdO}1<2o49 zar2Q6>C~l5tQ9{Gg;d#PM~FN*3|DpBLZ~PGRaq;#5B1c!=64x$eU~QNW<6 zo4w-bPMp1DPc}uJp4=*_#1~&~H8NTgIqlg8b>Fl<;h!BC!0%^->sTP7_NXDw$v39)~R#&O07}f91#m4I*UIj)->=t+cxAaQov8nH2wW){0@Rb61|t z268>RnIsgv4JAo?8cm3VZ+`KJBiww*IcVvVVF}vcfhzs*Y+%Pj$gW^G%`M=? zy?w%e3WghkYps}1FR7?kJA7q0oNk!9I2mInN$%7tDjv3040&Dc^qD%X{ev}l6+K&6 z?U;?6#vECQD#%m3&pvgdb~@>*H77o2+oj-OXHjt@+U%SUspa+J#=Wn)mTwzrr_cV0 zM;ghd@jVKsh9Zj(EPO;7UiW1lOi=*or09k_(!?L!V&&+rI#-xTeTy_lp4^H>&-R!6 z`W(@VG_p30CNXRCJu{=mb4bIlG_?1__PXEoYcjhHds;xs`3UN}+G;+e(YyWs^Jx`z zH9bunm4R(1V5nxDrW3?+vMF?d*&Xl}7JKq^ZT`QwJi`a?gM=>(r4RXB>5VJDFrh z<((E*)a^Bn?hi0_;-&mR!m<2!siLoiro`@XYoKhOYQfiHJqC$f1bU52;a8 zp__=?zZVx4eI_EfHd`aTm}?n3w2{B(UReIiqMIlgy2;T_XmEaGqI4kXjAYv^m8QL> zD{H4u6dr2A8Asuc(bOmYS&xehl`Hem;6liT{YdhyOan$_f0VM@!q7GjN7P}i?N_Hp z6^jqhw^z5Q-zpF{|BucV|L^5S z?As4!=JpH&>TmV38ES(ZgLSb#i?*kxS6!DX>~Ijy9J4>4;6skA`Calb96;XeL5qa4 z&ZlS6tW`wGZQtzAZ~u$=_!7cgM=M3K&i4d8UHe@!r7b1IMVVYvKDegki=&#Ij390N z;-pLxln*Zbhrn#j5**Yg_+(wYf=H7qY#fq(gsRnFRJoeSBvm~fDXGZpR6KS%7Jx^>EM{qWRB2NeOb?UFJ%k`4D} z>aJ+%(1+w%eGe@~RQOqj-@*06Yq1_>Lj^Jfn@5ma596lqzfCB@gZ7MkPZuKY-zGTh zgF`wxJBLWrwjz6&HYe(`M&m6IAQYksM*^l7ukK4{@W7sVkl>M{ADEl-_;rU z1>tk#dScOb)9DYi(RY6D-dRUAcrE9d&m3|iFR6&)Avaal z)dBDFt#KN$VSqaEDQRv4!6pLYdEUJaV2p(D;Uc#y8n%9s9*FyTB~v4)(+jwgrO$MA z<&C+me(7%wW?U*_i_(z(my!RAVyt6wnyvh>7)V0smpZva8KkN zSK26jqpU8>miAZMD59^CQEv_s7eZ#+=F_$Y)qRkW5Rtj^VGmrJ+9)B z6E{V)r{8&BNXM@QwFTOP4JC#^#6=P+%J@&X+r$3+`F;}P@}rXIg~g4lSU>dY_Ox7G zh;_(R+53Tw9OR2a%h=d7Ynpd1S!4{~tozEa7+#_cUgj(cnRT(cLadY_Z5MslO%)AbU7g4Bp=$o z%num%L$W=ss=5vbgy0JQZm;Ch-h9jIq`m)Rd|5YOcy>o8uYo3={#uMYKlBE9Z}Q+VMR~uC(gT-3`7P^*d|0u4=pa`PtOlQRrdY;1Lx$6HrPI;=~gN-*REZm zt~^{E=3)(Ilx!I`n%;DMq4s5c-%1sCWzHYyroHQmyL(Z|UF4i6Y1y z?4Up2qV=%P?g-!eNFBJbHd1^mu!F>Lt;7QyGNNZVAB5|oK9*5$zR{syjmkR@%FwTk z4GfvoZT)VGaHgmYf1q6<^*W6u3T@~P-yqTQi%%kYjBe{vq<&P*-%yH|fWJkJ9J wYWeX{99rnSEWmQg5(Gpr{}=t=iUu9$|F<`+r+x{w`@aTOW_Cy4n4XXMU$ZcWtpET3 literal 0 HcmV?d00001 diff --git a/content/04_SEM/practical_01_files/figure-html/unnamed-chunk-6-1.png b/content/04_SEM/practical_01_files/figure-html/unnamed-chunk-6-1.png new file mode 100644 index 0000000000000000000000000000000000000000..4940919312ba27d991c9f90bc3c8c7b6f49c9dd3 GIT binary patch literal 12662 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 literal 0 HcmV?d00001 diff --git a/index.Rmd b/index.Rmd index 4957c14..359c598 100644 --- a/index.Rmd +++ b/index.Rmd @@ -113,7 +113,7 @@ All lectures are in `html` format. Practicals are walkthrough files that guide y - Basics, correlation, regression, summaries, reliability analysis: - [Lecture 1:](content/02_modelling/lecture_01.html) Basic plotting, summary, correlation and regression and model comparison. - [Practical 1:](content/02_modelling/practical_01.html) Basic plotting of data, summary, correlation and regression and model comparison. - - [Lecture 2:](content/02_modelling/lecture_01.html) Reliability analysis, Principal component analysis and exploratory factor analysis. + - [Lecture 2:](content/02_modelling/lecture_02.html) Reliability analysis, Principal component analysis and exploratory factor analysis. - [Practical 2:](content/02_modelling/practical_02.html) Practice with Reliability analysis, Principal component analysis and exploratory factor analysis. @@ -140,7 +140,5 @@ All lectures are in `html` format. Practicals are walkthrough files that guide y - lavaan: - [Lecture 1:](content/04_SEM/lecture_01.html) Intro to lavaan, CFA, modelfit, plotting your SEM models. - - [Practical 1:](content/04_SEM/practical_01.html) - - + - [Practical 1:](content/04_SEM/practical_01.html) CFA exercise, examples of mediation and latent growth curve modelling. diff --git a/index.html b/index.html index c3967d2..e0fd186 100644 --- a/index.html +++ b/index.html @@ -2066,7 +2066,7 @@

      Materials

    1. Practical 1: Basic plotting of data, summary, correlation and regression and model comparison.
    2. -
    3. Lecture 2: +
    4. Lecture 2: Reliability analysis, Principal component analysis and exploratory factor analysis.
    5. Practical 2: @@ -2110,9 +2110,9 @@

      Materials

      -
    6. +
    7. Practical 1: CFA +exercise, examples of mediation and latent growth curve modelling.
    8. +