Checked the skewness and kurtosis of the chosen items, everything is good to proceed.
Outliers can severely distort LPA results, so even though the data had already been screened for outliers I checked for them again using the LPA variables. Cutoff of 2 was used, per recommendations from the literature (Tabachnik).
##
## No Yes
## 2312 27
Observing the correlations between the LPA items.
Plot suggests that there are two clusters, the positive and negative variables. This grouping was used in the LPA analysis when running all 10 items together failed to converge.
Barplots of the positive variables, grouped by their latent profile assignment.
Barplots of the negative variables, grouped by their latent profile assignment.
##
## 1 2 3 4 5
## 425 560 304 356 694
First table is by positive class, second is by negative class.
Y <- cbind(df$belong_c, df$future_c)
fit <- manova(Y ~ df$pos_class + df$neg_class)
summary(fit)
## Df Pillai approx F num Df den Df Pr(>F)
## df$pos_class 4 0.233518 76.111 8 4606 < 2.2e-16 ***
## df$neg_class 4 0.047861 14.116 8 4606 < 2.2e-16 ***
## Residuals 2303
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Contrasts set to contr.sum for the following variables: pos_class
## Anova Table (Type 3 tests)
##
## Response: belong_c
## Effect df MSE F ges p.value
## 1 pos_class 4, 2307 0.75 161.84 *** .22 <.0001
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## pos_class emmean SE df lower.CL upper.CL
## 1 -0.9868 0.0531 2307 -1.0910 -0.8826
## 2 0.7336 0.0544 2307 0.6270 0.8402
## 3 0.0579 0.0421 2307 -0.0246 0.1403
## 4 -0.1434 0.0301 2307 -0.2025 -0.0842
## 5 0.3677 0.0375 2307 0.2941 0.4413
##
## Confidence level used: 0.95
## contrast estimate SE df t.ratio p.value
## 1 - 2 -1.720 0.0760 2307 -22.636 <.0001
## 1 - 3 -1.045 0.0678 2307 -15.419 <.0001
## 1 - 4 -0.843 0.0611 2307 -13.809 <.0001
## 1 - 5 -1.355 0.0650 2307 -20.826 <.0001
## 2 - 3 0.676 0.0687 2307 9.832 <.0001
## 2 - 4 0.877 0.0622 2307 14.108 <.0001
## 2 - 5 0.366 0.0661 2307 5.539 <.0001
## 3 - 4 0.201 0.0517 2307 3.888 0.0010
## 3 - 5 -0.310 0.0564 2307 -5.498 <.0001
## 4 - 5 -0.511 0.0481 2307 -10.617 <.0001
##
## P value adjustment: tukey method for comparing a family of 5 estimates
## Contrasts set to contr.sum for the following variables: pos_class
## Anova Table (Type 3 tests)
##
## Response: future_c
## Effect df MSE F ges p.value
## 1 pos_class 4, 2307 0.82 107.10 *** .16 <.0001
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## pos_class emmean SE df lower.CL upper.CL
## 1 -0.848 0.0554 2307 -0.9567 -0.7394
## 2 0.588 0.0567 2307 0.4768 0.6992
## 3 0.123 0.0439 2307 0.0369 0.2090
## 4 -0.138 0.0315 2307 -0.2000 -0.0766
## 5 0.303 0.0392 2307 0.2261 0.3797
##
## Confidence level used: 0.95
## contrast estimate SE df t.ratio p.value
## 1 - 2 -1.436 0.0793 2307 -18.111 <.0001
## 1 - 3 -0.971 0.0707 2307 -13.737 <.0001
## 1 - 4 -0.710 0.0637 2307 -11.138 <.0001
## 1 - 5 -1.151 0.0679 2307 -16.962 <.0001
## 2 - 3 0.465 0.0717 2307 6.486 <.0001
## 2 - 4 0.726 0.0648 2307 11.200 <.0001
## 2 - 5 0.285 0.0689 2307 4.137 0.0004
## 3 - 4 0.261 0.0540 2307 4.839 <.0001
## 3 - 5 -0.180 0.0588 2307 -3.061 0.0190
## 4 - 5 -0.441 0.0502 2307 -8.785 <.0001
##
## P value adjustment: tukey method for comparing a family of 5 estimates
## Contrasts set to contr.sum for the following variables: neg_class
## Anova Table (Type 3 tests)
##
## Response: belong_c
## Effect df MSE F ges p.value
## 1 neg_class 4, 2307 0.92 28.26 *** .05 <.0001
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## neg_class emmean SE df lower.CL upper.CL
## 1 -0.159 0.0469 2307 -0.251 -0.0672
## 2 0.193 0.0409 2307 0.113 0.2730
## 3 -0.268 0.0556 2307 -0.377 -0.1591
## 4 0.364 0.0513 2307 0.264 0.4646
## 5 -0.088 0.0364 2307 -0.159 -0.0166
##
## Confidence level used: 0.95
## contrast estimate SE df t.ratio p.value
## 1 - 2 -0.3520 0.0622 2307 -5.662 <.0001
## 1 - 3 0.1090 0.0727 2307 1.499 0.5630
## 1 - 4 -0.5232 0.0694 2307 -7.533 <.0001
## 1 - 5 -0.0711 0.0593 2307 -1.199 0.7521
## 2 - 3 0.4610 0.0690 2307 6.684 <.0001
## 2 - 4 -0.1712 0.0656 2307 -2.611 0.0686
## 2 - 5 0.2809 0.0547 2307 5.132 <.0001
## 3 - 4 -0.6321 0.0756 2307 -8.362 <.0001
## 3 - 5 -0.1801 0.0664 2307 -2.711 0.0526
## 4 - 5 0.4520 0.0629 2307 7.190 <.0001
##
## P value adjustment: tukey method for comparing a family of 5 estimates
## Contrasts set to contr.sum for the following variables: neg_class
## Anova Table (Type 3 tests)
##
## Response: future_c
## Effect df MSE F ges p.value
## 1 neg_class 4, 2307 0.96 7.07 *** .01 <.0001
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## neg_class emmean SE df lower.CL upper.CL
## 1 -0.0328 0.0479 2307 -0.1267 0.06108
## 2 0.0625 0.0418 2307 -0.0194 0.14436
## 3 -0.0970 0.0568 2307 -0.2083 0.01434
## 4 0.2301 0.0524 2307 0.1274 0.33286
## 5 -0.0706 0.0372 2307 -0.1436 0.00232
##
## Confidence level used: 0.95
## contrast estimate SE df t.ratio p.value
## 1 - 2 -0.0953 0.0635 2307 -1.500 0.5626
## 1 - 3 0.0642 0.0743 2307 0.864 0.9099
## 1 - 4 -0.2629 0.0710 2307 -3.705 0.0020
## 1 - 5 0.0378 0.0606 2307 0.624 0.9713
## 2 - 3 0.1595 0.0705 2307 2.263 0.1575
## 2 - 4 -0.1676 0.0670 2307 -2.502 0.0904
## 2 - 5 0.1331 0.0559 2307 2.380 0.1211
## 3 - 4 -0.3271 0.0773 2307 -4.234 0.0002
## 3 - 5 -0.0264 0.0679 2307 -0.388 0.9952
## 4 - 5 0.3008 0.0643 2307 4.681 <.0001
##
## P value adjustment: tukey method for comparing a family of 5 estimates
##
## Call:
## lm(formula = belong_c ~ meaningpurpose + gratitude + motExpeng +
## mindfulness + stressSupp, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.7799 -0.3919 0.1068 0.4699 2.4626
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.002077 0.015474 0.134 0.89322
## meaningpurpose 0.166938 0.017588 9.492 < 2e-16 ***
## gratitude 0.217984 0.017883 12.190 < 2e-16 ***
## motExpeng 0.455815 0.017549 25.974 < 2e-16 ***
## mindfulness 0.046652 0.016428 2.840 0.00455 **
## stressSupp -0.069976 0.016102 -4.346 1.45e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7439 on 2306 degrees of freedom
## Multiple R-squared: 0.4268, Adjusted R-squared: 0.4255
## F-statistic: 343.4 on 5 and 2306 DF, p-value: < 2.2e-16
##
## Call:
## lm(formula = belong_c ~ TestAnx + stressChanges + stressConflict +
## stressFrust + stressReac, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.8378 -0.5543 0.1156 0.7031 1.8166
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.009771 0.019802 0.493 0.6218
## TestAnx -0.126701 0.023313 -5.435 6.07e-08 ***
## stressChanges -0.107966 0.023845 -4.528 6.26e-06 ***
## stressConflict 0.097379 0.022100 4.406 1.10e-05 ***
## stressFrust -0.057793 0.024135 -2.395 0.0167 *
## stressReac -0.050771 0.024406 -2.080 0.0376 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.952 on 2306 degrees of freedom
## Multiple R-squared: 0.06105, Adjusted R-squared: 0.05901
## F-statistic: 29.99 on 5 and 2306 DF, p-value: < 2.2e-16
##
## Call:
## lm(formula = belong_c ~ meaningpurpose + gratitude + motExpeng +
## mindfulness + stressSupp + TestAnx + stressChanges + stressConflict +
## stressFrust + stressReac, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.6845 -0.3913 0.0968 0.4710 2.4875
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.001234 0.015411 0.080 0.936193
## meaningpurpose 0.156291 0.017813 8.774 < 2e-16 ***
## gratitude 0.225831 0.018125 12.460 < 2e-16 ***
## motExpeng 0.441472 0.018000 24.526 < 2e-16 ***
## mindfulness 0.025820 0.017485 1.477 0.139889
## stressSupp -0.058854 0.016487 -3.570 0.000365 ***
## TestAnx -0.020677 0.018707 -1.105 0.269138
## stressChanges -0.048523 0.018868 -2.572 0.010183 *
## stressConflict 0.051120 0.017268 2.960 0.003104 **
## stressFrust -0.006826 0.018903 -0.361 0.718058
## stressReac -0.034596 0.019586 -1.766 0.077459 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7407 on 2301 degrees of freedom
## Multiple R-squared: 0.4328, Adjusted R-squared: 0.4304
## F-statistic: 175.6 on 10 and 2301 DF, p-value: < 2.2e-16
## Analysis of Variance Table
##
## Model 1: belong_c ~ meaningpurpose + gratitude + motExpeng + mindfulness +
## stressSupp
## Model 2: belong_c ~ meaningpurpose + gratitude + motExpeng + mindfulness +
## stressSupp + TestAnx + stressChanges + stressConflict + stressFrust +
## stressReac
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 2306 1276.0
## 2 2301 1262.5 5 13.467 4.9088 0.0001795 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
allmod <- lm(data=df, future_c ~ meaningpurpose + gratitude + motExpeng + mindfulness + stressSupp)
allmod2 <- lm(data=df, future_c ~ TestAnx + stressChanges + stressConflict + stressFrust + stressReac)
allmod3 <- lm(data=df, future_c ~ meaningpurpose + gratitude + motExpeng + mindfulness + stressSupp + TestAnx + stressChanges + stressConflict + stressFrust + stressReac)
summary(allmod)
##
## Call:
## lm(formula = future_c ~ meaningpurpose + gratitude + motExpeng +
## mindfulness + stressSupp, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.0866 -0.4255 0.1504 0.5224 2.3877
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.001511 0.017110 0.088 0.92963
## meaningpurpose 0.225145 0.019447 11.577 < 2e-16 ***
## gratitude 0.226971 0.019774 11.478 < 2e-16 ***
## motExpeng 0.308584 0.019404 15.903 < 2e-16 ***
## mindfulness -0.008948 0.018165 -0.493 0.62234
## stressSupp -0.055863 0.017805 -3.137 0.00173 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8225 on 2306 degrees of freedom
## Multiple R-squared: 0.3046, Adjusted R-squared: 0.3031
## F-statistic: 202 on 5 and 2306 DF, p-value: < 2.2e-16
summary(allmod2)
##
## Call:
## lm(formula = future_c ~ TestAnx + stressChanges + stressConflict +
## stressFrust + stressReac, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.5324 -0.5613 0.2064 0.7562 1.3780
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.009321 0.020389 0.457 0.6476
## TestAnx -0.017326 0.024005 -0.722 0.4705
## stressChanges -0.078509 0.024552 -3.198 0.0014 **
## stressConflict 0.037364 0.022756 1.642 0.1007
## stressFrust -0.017821 0.024852 -0.717 0.4734
## stressReac -0.035801 0.025130 -1.425 0.1544
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9803 on 2306 degrees of freedom
## Multiple R-squared: 0.01221, Adjusted R-squared: 0.01007
## F-statistic: 5.702 on 5 and 2306 DF, p-value: 3.102e-05
summary(allmod3)
##
## Call:
## lm(formula = future_c ~ meaningpurpose + gratitude + motExpeng +
## mindfulness + stressSupp + TestAnx + stressChanges + stressConflict +
## stressFrust + stressReac, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.0679 -0.4362 0.1503 0.5237 2.3952
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.001437 0.017080 0.084 0.93296
## meaningpurpose 0.226675 0.019743 11.481 < 2e-16 ***
## gratitude 0.218665 0.020088 10.886 < 2e-16 ***
## motExpeng 0.324077 0.019949 16.245 < 2e-16 ***
## mindfulness 0.003633 0.019378 0.187 0.85132
## stressSupp -0.056007 0.018272 -3.065 0.00220 **
## TestAnx 0.064531 0.020733 3.112 0.00188 **
## stressChanges -0.021755 0.020912 -1.040 0.29830
## stressConflict -0.001942 0.019138 -0.101 0.91918
## stressFrust 0.027456 0.020951 1.310 0.19016
## stressReac -0.018116 0.021707 -0.835 0.40404
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8209 on 2301 degrees of freedom
## Multiple R-squared: 0.3087, Adjusted R-squared: 0.3057
## F-statistic: 102.8 on 10 and 2301 DF, p-value: < 2.2e-16
anova(allmod, allmod3)
## Analysis of Variance Table
##
## Model 1: future_c ~ meaningpurpose + gratitude + motExpeng + mindfulness +
## stressSupp
## Model 2: future_c ~ meaningpurpose + gratitude + motExpeng + mindfulness +
## stressSupp + TestAnx + stressChanges + stressConflict + stressFrust +
## stressReac
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 2306 1560.1
## 2 2301 1550.8 5 9.3005 2.76 0.01715 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1