Demographics

Majors

Race/Ethnicity

Gender

Normality & Outliers

Univariate Normality

Checked the skewness and kurtosis of the chosen items, everything is good to proceed.

Outlier Analysis

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

Correlations

Correlation Matrix

Observing the correlations between the LPA items.

Correlation Plot

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.

LPA Output

LPA Plots - Positive Variables

Barplots of the positive variables, grouped by their latent profile assignment.

  • Group 1: Low Positive Wellness, n = 290
  • Group 2: High Positive Wellness, n = 258
  • Group 3: High Stress Support, Low Expectancy, n = 426
  • Group 4: Average Positive Wellness, n = 829
  • Group 5: Low Stress Support, High Expectancy, n = 536

LPA Plots - Negative Variables

Barplots of the negative variables, grouped by their latent profile assignment.

  • Group 1: High Anxiety & Reactivity, n = 425
  • Group 2: Low Anxiety & Reactivity, n = 560
  • Group 3: High Stress, n = 304
  • Group 4: Low stress, n = 356
  • Group 5: Average Stress, n = 694

## 
##   1   2   3   4   5 
## 425 560 304 356 694

LPA Plots - All Variables

First table is by positive class, second is by negative class.

Profile Comparison Analyses

MANOVA

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

ANOVA: Pos

## 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

ANOVA: Neg

## 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

Regression (Belonging)

## 
## 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

Regression (Future)

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