INSTALL PACKAGE

install.packages("seminr")
install.packages("readr")
install.packages("dplyr")
install.packages("psych")
install.packages("corrplot")
install.packages("ggplot2")

LOAD LIBRARY

library(seminr)
library(readr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(psych)
library(corrplot)
## corrplot 0.95 loaded
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha

IMPORT DATA

data <- read_csv("instagram_usage_lifestyle.csv")
## Rows: 1547896 Columns: 58
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (19): app_name, gender, country, urban_rural, income_level, employment_...
## dbl  (38): user_id, age, exercise_hours_per_week, sleep_hours_per_night, per...
## date  (1): last_login_date
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(data)
## # A tibble: 6 × 58
##   user_id app_name    age gender     country        urban_rural income_level
##     <dbl> <chr>     <dbl> <chr>      <chr>          <chr>       <chr>       
## 1       1 Instagram    51 Female     India          Rural       High        
## 2       2 Instagram    64 Female     United Kingdom Urban       Middle      
## 3       3 Instagram    41 Female     Canada         Urban       Middle      
## 4       4 Instagram    27 Non-binary South Korea    Urban       Middle      
## 5       5 Instagram    55 Male       India          Urban       Upper-middle
## 6       6 Instagram    20 Male       United States  Rural       Middle      
## # ℹ 51 more variables: employment_status <chr>, education_level <chr>,
## #   relationship_status <chr>, has_children <chr>,
## #   exercise_hours_per_week <dbl>, sleep_hours_per_night <dbl>,
## #   diet_quality <chr>, smoking <chr>, alcohol_frequency <chr>,
## #   perceived_stress_score <dbl>, self_reported_happiness <dbl>,
## #   body_mass_index <dbl>, blood_pressure_systolic <dbl>,
## #   blood_pressure_diastolic <dbl>, daily_steps_count <dbl>, …
str(data)
## spc_tbl_ [1,547,896 × 58] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ user_id                       : num [1:1547896] 1 2 3 4 5 6 7 8 9 10 ...
##  $ app_name                      : chr [1:1547896] "Instagram" "Instagram" "Instagram" "Instagram" ...
##  $ age                           : num [1:1547896] 51 64 41 27 55 20 33 51 31 35 ...
##  $ gender                        : chr [1:1547896] "Female" "Female" "Female" "Non-binary" ...
##  $ country                       : chr [1:1547896] "India" "United Kingdom" "Canada" "South Korea" ...
##  $ urban_rural                   : chr [1:1547896] "Rural" "Urban" "Urban" "Urban" ...
##  $ income_level                  : chr [1:1547896] "High" "Middle" "Middle" "Middle" ...
##  $ employment_status             : chr [1:1547896] "Retired" "Full-time employed" "Student" "Unemployed" ...
##  $ education_level               : chr [1:1547896] "Bachelor’s" "Other" "Bachelor’s" "Master’s" ...
##  $ relationship_status           : chr [1:1547896] "Single" "Divorced" "In a relationship" "In a relationship" ...
##  $ has_children                  : chr [1:1547896] "No" "No" "No" "No" ...
##  $ exercise_hours_per_week       : num [1:1547896] 7.2 10.9 5 10.6 7.7 5.2 6.5 10.5 4.2 2.1 ...
##  $ sleep_hours_per_night         : num [1:1547896] 7.7 8.6 6.7 6.5 6.8 5.8 7.7 7.7 8.3 6.5 ...
##  $ diet_quality                  : chr [1:1547896] "Good" "Very poor" "Good" "Poor" ...
##  $ smoking                       : chr [1:1547896] "No" "No" "No" "Yes" ...
##  $ alcohol_frequency             : chr [1:1547896] "Rarely" "Rarely" "Rarely" "Never" ...
##  $ perceived_stress_score        : num [1:1547896] 3 1 4 18 19 1 23 33 12 25 ...
##  $ self_reported_happiness       : num [1:1547896] 8 1 10 1 1 3 10 3 6 10 ...
##  $ body_mass_index               : num [1:1547896] 20.8 23.5 28.6 22.5 28.1 25.7 24.5 20.3 22.2 23.3 ...
##  $ blood_pressure_systolic       : num [1:1547896] 148 133 135 105 146 138 114 118 93 128 ...
##  $ blood_pressure_diastolic      : num [1:1547896] 86 84 88 73 90 71 72 85 98 75 ...
##  $ daily_steps_count             : num [1:1547896] 8107 8059 7872 7801 8005 ...
##  $ weekly_work_hours             : num [1:1547896] 49.9 15.6 31.8 43.4 50.2 36.2 38.5 26 27.4 37.7 ...
##  $ hobbies_count                 : num [1:1547896] 3 0 4 2 2 4 4 1 5 5 ...
##  $ social_events_per_month       : num [1:1547896] 4 5 5 3 2 3 6 2 3 3 ...
##  $ books_read_per_year           : num [1:1547896] 7 10 14 13 12 7 9 11 13 12 ...
##  $ volunteer_hours_per_month     : num [1:1547896] 4.3 4.7 1.5 3.3 4.5 4.7 1.9 5.7 2.2 7 ...
##  $ travel_frequency_per_year     : num [1:1547896] 0 2 2 4 3 1 4 3 4 2 ...
##  $ daily_active_minutes_instagram: num [1:1547896] 5 74 5 233 184 49 125 282 128 196 ...
##  $ sessions_per_day              : num [1:1547896] 1 5 1 9 14 3 4 14 10 13 ...
##  $ posts_created_per_week        : num [1:1547896] 3 3 7 5 5 3 7 5 2 5 ...
##  $ reels_watched_per_day         : num [1:1547896] 42 78 29 241 146 150 112 227 118 176 ...
##  $ stories_viewed_per_day        : num [1:1547896] 28 54 26 109 113 41 79 144 90 93 ...
##  $ likes_given_per_day           : num [1:1547896] 28 68 25 132 103 55 80 158 90 131 ...
##  $ comments_written_per_day      : num [1:1547896] 5 15 6 36 36 9 20 50 16 27 ...
##  $ dms_sent_per_week             : num [1:1547896] 12 18 12 31 29 13 18 26 20 22 ...
##  $ dms_received_per_week         : num [1:1547896] 12 10 13 32 37 13 34 37 18 30 ...
##  $ ads_viewed_per_day            : num [1:1547896] 4 11 4 33 20 16 14 20 23 24 ...
##  $ ads_clicked_per_day           : num [1:1547896] 1 1 0 3 5 3 5 9 2 1 ...
##  $ time_on_feed_per_day          : num [1:1547896] 2 31 3 108 78 29 64 167 64 115 ...
##  $ time_on_explore_per_day       : num [1:1547896] 1 19 1 64 55 6 21 49 38 34 ...
##  $ time_on_messages_per_day      : num [1:1547896] 1 16 1 52 22 12 26 50 31 27 ...
##  $ time_on_reels_per_day         : num [1:1547896] 2 19 1 64 55 13 44 87 50 58 ...
##  $ followers_count               : num [1:1547896] 374 2585 3414 617 1157 ...
##  $ following_count               : num [1:1547896] 647 3511 6761 1193 1072 ...
##  $ uses_premium_features         : chr [1:1547896] "No" "No" "No" "No" ...
##  $ notification_response_rate    : num [1:1547896] 0.34 0.56 0.73 0.73 0.65 0.13 0.79 0.22 0.98 0.6 ...
##  $ account_creation_year         : num [1:1547896] 2015 2018 2011 2019 2017 ...
##  $ last_login_date               : Date[1:1547896], format: "2025-11-02" "2025-03-22" ...
##  $ average_session_length_minutes: num [1:1547896] 5 14.8 5 25.9 13.1 16.3 31.2 20.1 12.8 15.1 ...
##  $ content_type_preference       : chr [1:1547896] "Mixed" "Photos" "Mixed" "Stories" ...
##  $ preferred_content_theme       : chr [1:1547896] "Tech" "Fashion" "Other" "Tech" ...
##  $ privacy_setting_level         : chr [1:1547896] "Private" "Public" "Public" "Private" ...
##  $ two_factor_auth_enabled       : chr [1:1547896] "Yes" "No" "Yes" "No" ...
##  $ biometric_login_used          : chr [1:1547896] "No" "No" "Yes" "No" ...
##  $ linked_accounts_count         : num [1:1547896] 0 3 1 1 0 1 3 2 2 1 ...
##  $ subscription_status           : chr [1:1547896] "Free" "Free" "Free" "Free" ...
##  $ user_engagement_score         : num [1:1547896] 7.83 1.43 9.67 0.94 1.03 1.64 1.12 0.96 0.99 1.02 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   user_id = col_double(),
##   ..   app_name = col_character(),
##   ..   age = col_double(),
##   ..   gender = col_character(),
##   ..   country = col_character(),
##   ..   urban_rural = col_character(),
##   ..   income_level = col_character(),
##   ..   employment_status = col_character(),
##   ..   education_level = col_character(),
##   ..   relationship_status = col_character(),
##   ..   has_children = col_character(),
##   ..   exercise_hours_per_week = col_double(),
##   ..   sleep_hours_per_night = col_double(),
##   ..   diet_quality = col_character(),
##   ..   smoking = col_character(),
##   ..   alcohol_frequency = col_character(),
##   ..   perceived_stress_score = col_double(),
##   ..   self_reported_happiness = col_double(),
##   ..   body_mass_index = col_double(),
##   ..   blood_pressure_systolic = col_double(),
##   ..   blood_pressure_diastolic = col_double(),
##   ..   daily_steps_count = col_double(),
##   ..   weekly_work_hours = col_double(),
##   ..   hobbies_count = col_double(),
##   ..   social_events_per_month = col_double(),
##   ..   books_read_per_year = col_double(),
##   ..   volunteer_hours_per_month = col_double(),
##   ..   travel_frequency_per_year = col_double(),
##   ..   daily_active_minutes_instagram = col_double(),
##   ..   sessions_per_day = col_double(),
##   ..   posts_created_per_week = col_double(),
##   ..   reels_watched_per_day = col_double(),
##   ..   stories_viewed_per_day = col_double(),
##   ..   likes_given_per_day = col_double(),
##   ..   comments_written_per_day = col_double(),
##   ..   dms_sent_per_week = col_double(),
##   ..   dms_received_per_week = col_double(),
##   ..   ads_viewed_per_day = col_double(),
##   ..   ads_clicked_per_day = col_double(),
##   ..   time_on_feed_per_day = col_double(),
##   ..   time_on_explore_per_day = col_double(),
##   ..   time_on_messages_per_day = col_double(),
##   ..   time_on_reels_per_day = col_double(),
##   ..   followers_count = col_double(),
##   ..   following_count = col_double(),
##   ..   uses_premium_features = col_character(),
##   ..   notification_response_rate = col_double(),
##   ..   account_creation_year = col_double(),
##   ..   last_login_date = col_date(format = ""),
##   ..   average_session_length_minutes = col_double(),
##   ..   content_type_preference = col_character(),
##   ..   preferred_content_theme = col_character(),
##   ..   privacy_setting_level = col_character(),
##   ..   two_factor_auth_enabled = col_character(),
##   ..   biometric_login_used = col_character(),
##   ..   linked_accounts_count = col_double(),
##   ..   subscription_status = col_character(),
##   ..   user_engagement_score = col_double()
##   .. )
##  - attr(*, "problems")=<pointer: 0x0000025bbeae9d00>

FEATURE SELECTION

sem_data <- data %>%
  select(

    # DOOMSCROLLING
    daily_active_minutes_instagram,
    sessions_per_day,
    reels_watched_per_day,
    stories_viewed_per_day,
    time_on_feed_per_day,
    time_on_explore_per_day,
    time_on_reels_per_day,

    # ENGAGEMENT
    likes_given_per_day,
    comments_written_per_day,
    dms_sent_per_week,
    dms_received_per_week,

    # MENTAL HEALTH
    perceived_stress_score,
    self_reported_happiness,

    # LIFESTYLE
    daily_steps_count,
    exercise_hours_per_week,
    hobbies_count
  )

REVERSE CODING HAPPINESS

sem_data <- sem_data %>%
  mutate(
    happiness_reverse =
      max(self_reported_happiness, na.rm = TRUE) -
      self_reported_happiness
  )

RENAME VARIABLE

sem_data <- sem_data %>%
  rename(

    # DOOMSCROLLING
    DOOM1 = daily_active_minutes_instagram,
    DOOM2 = sessions_per_day,
    DOOM3 = reels_watched_per_day,
    DOOM4 = stories_viewed_per_day,
    DOOM5 = time_on_feed_per_day,
    DOOM6 = time_on_explore_per_day,
    DOOM7 = time_on_reels_per_day,

    # ENGAGEMENT
    ENG1 = likes_given_per_day,
    ENG2 = comments_written_per_day,
    ENG3 = dms_sent_per_week,
    ENG4 = dms_received_per_week,

    # MENTAL HEALTH
    MH1 = perceived_stress_score,
    MH2 = happiness_reverse,

    # LIFESTYLE
    LIFE1 = daily_steps_count,
    LIFE2 = exercise_hours_per_week,
    LIFE3 = hobbies_count
  )

colnames(sem_data)
##  [1] "DOOM1"                   "DOOM2"                  
##  [3] "DOOM3"                   "DOOM4"                  
##  [5] "DOOM5"                   "DOOM6"                  
##  [7] "DOOM7"                   "ENG1"                   
##  [9] "ENG2"                    "ENG3"                   
## [11] "ENG4"                    "MH1"                    
## [13] "self_reported_happiness" "LIFE1"                  
## [15] "LIFE2"                   "LIFE3"                  
## [17] "MH2"

HANDLING MISSING VALUE

colSums(is.na(sem_data))
##                   DOOM1                   DOOM2                   DOOM3 
##                       0                       0                       0 
##                   DOOM4                   DOOM5                   DOOM6 
##                       0                       0                       0 
##                   DOOM7                    ENG1                    ENG2 
##                       0                       0                       0 
##                    ENG3                    ENG4                     MH1 
##                       0                       0                       0 
## self_reported_happiness                   LIFE1                   LIFE2 
##                       0                       0                       0 
##                   LIFE3                     MH2 
##                       0                       0
sem_data <- na.omit(sem_data)

SAMPLING DATA

set.seed(123)

sample_size <- min(5000, nrow(sem_data))

sem_data_sample <- sem_data %>%
  sample_n(sample_size)

DESCRIPTIVE STATISTICS

describe(sem_data_sample)
##                         vars    n    mean     sd median trimmed    mad    min
## DOOM1                      1 5000  188.72 109.05  186.0  186.91 127.50    5.0
## DOOM2                      2 5000   10.57   8.12    9.0    9.47   7.41    1.0
## DOOM3                      3 5000  176.96  76.07  176.0  177.28  87.47   20.0
## DOOM4                      4 5000  101.44  38.49  104.0  103.70  50.41   17.0
## DOOM5                      5 5000   94.35  56.00   93.0   92.67  63.75    2.0
## DOOM6                      6 5000   37.62  25.07   34.0   35.76  25.20    1.0
## DOOM7                      7 5000   56.74  35.13   54.0   55.03  38.55    1.0
## ENG1                       8 5000  119.46  55.70  118.0  118.23  63.75   14.0
## ENG2                       9 5000   34.32  17.36   34.0   33.80  19.27    1.0
## ENG3                      10 5000   28.75  12.09   28.0   28.26  13.34    3.0
## ENG4                      11 5000   30.64  14.20   30.0   30.16  16.31    2.0
## MH1                       12 5000   19.92  11.79   20.0   19.90  14.83    0.0
## self_reported_happiness   13 5000    5.47   2.85    5.0    5.47   2.97    1.0
## LIFE1                     14 5000 8001.43  88.70 8000.0 8001.24  88.96 7608.0
## LIFE2                     15 5000    7.18   3.93    6.7    6.91   4.15    0.1
## LIFE3                     16 5000    3.03   1.73    3.0    2.92   1.48    0.0
## MH2                       17 5000    4.53   2.85    5.0    4.53   2.97    0.0
##                            max range  skew kurtosis   se
## DOOM1                    495.0 490.0  0.14    -0.81 1.54
## DOOM2                     50.0  49.0  1.35     2.11 0.11
## DOOM3                    300.0 280.0 -0.01    -1.00 1.08
## DOOM4                    150.0 133.0 -0.27    -1.15 0.54
## DOOM5                    296.0 294.0  0.26    -0.58 0.79
## DOOM6                    133.0 132.0  0.65    -0.02 0.35
## DOOM7                    198.0 197.0  0.43    -0.33 0.50
## ENG1                     291.0 277.0  0.19    -0.72 0.79
## ENG2                      80.0  79.0  0.23    -0.67 0.25
## ENG3                      70.0  67.0  0.34    -0.42 0.17
## ENG4                      79.0  77.0  0.28    -0.56 0.20
## MH1                       40.0  40.0  0.01    -1.21 0.17
## self_reported_happiness   10.0   9.0  0.01    -1.22 0.04
## LIFE1                   8325.0 717.0  0.01     0.11 1.25
## LIFE2                     20.3  20.2  0.58    -0.13 0.06
## LIFE3                     10.0  10.0  0.60     0.46 0.02
## MH2                        9.0   9.0 -0.01    -1.22 0.04

CORRELATION MATRIX

cor_matrix <- cor(sem_data_sample)

corrplot(cor_matrix,
         method = "color",
         type = "upper",
         tl.cex = 0.8)

MEASUREMENT MODEL

measurement_model <- constructs(

  # DOOMSCROLLING
  composite(
    "DOOM",
    multi_items("DOOM", 1:7)
  ),

  # ENGAGEMENT
  composite(
    "ENGAGEMENT",
    multi_items("ENG", 1:4)
  ),

  # MENTAL HEALTH
  composite(
    "MENTAL_HEALTH",
    multi_items("MH", 1:2)
  ),

  # LIFESTYLE
  composite(
    "LIFESTYLE",
    multi_items("LIFE", 1:3)
  )
)

STRUCTURAL MODEL

structural_model <- relationships(

  # DOOM -> ENGAGEMENT
  paths(from = "DOOM",
        to = "ENGAGEMENT"),

  # DOOM -> MENTAL HEALTH
  paths(from = "DOOM",
        to = "MENTAL_HEALTH"),

  # ENGAGEMENT -> MENTAL HEALTH
  paths(from = "ENGAGEMENT",
        to = "MENTAL_HEALTH"),

  # MENTAL HEALTH -> LIFESTYLE
  paths(from = "MENTAL_HEALTH",
        to = "LIFESTYLE")
)

ESTIMATE SEM-PLS MODEL

pls_model <- estimate_pls(
  data = sem_data_sample,
  measurement_model = measurement_model,
  structural_model = structural_model
)
## Generating the seminr model
## All 5000 observations are valid.

MODEL SUMMARY

summary(pls_model)
## 
## Results from  package seminr (2.4.2)
## 
## Path Coefficients:
##               ENGAGEMENT MENTAL_HEALTH LIFESTYLE
## R^2                0.940         0.811     0.000
## AdjR^2             0.940         0.811    -0.000
## DOOM               0.970         0.411         .
## ENGAGEMENT             .         0.497         .
## MENTAL_HEALTH          .             .    -0.007
## 
## Reliability:
##                alpha   rhoA  rhoC   AVE
## DOOM           0.970  0.976 0.975 0.851
## ENGAGEMENT     0.965  0.967 0.975 0.906
## MENTAL_HEALTH -0.030 -0.041 0.625 0.495
## LIFESTYLE      0.039  0.000 0.173 0.333
## 
## Alpha, rhoA, and rhoC should exceed 0.7 while AVE should exceed 0.5

OUTER LOADINGS

pls_model$outer_loadings
##            DOOM ENGAGEMENT MENTAL_HEALTH  LIFESTYLE
## DOOM1 0.9868135  0.0000000     0.0000000  0.0000000
## DOOM2 0.7906904  0.0000000     0.0000000  0.0000000
## DOOM3 0.9000194  0.0000000     0.0000000  0.0000000
## DOOM4 0.9593909  0.0000000     0.0000000  0.0000000
## DOOM5 0.9699931  0.0000000     0.0000000  0.0000000
## DOOM6 0.8926092  0.0000000     0.0000000  0.0000000
## DOOM7 0.9431764  0.0000000     0.0000000  0.0000000
## ENG1  0.0000000  0.9743490     0.0000000  0.0000000
## ENG2  0.0000000  0.9565554     0.0000000  0.0000000
## ENG3  0.0000000  0.9297477     0.0000000  0.0000000
## ENG4  0.0000000  0.9453620     0.0000000  0.0000000
## MH1   0.0000000  0.0000000     0.9215866  0.0000000
## MH2   0.0000000  0.0000000     0.3746866  0.0000000
## LIFE1 0.0000000  0.0000000     0.0000000  0.8518077
## LIFE2 0.0000000  0.0000000     0.0000000  0.2531336
## LIFE3 0.0000000  0.0000000     0.0000000 -0.4589828

R-SQUARE

summary(pls_model)$r_squared
## NULL

RELIABILITY & VALIDITY

summary(pls_model)$reliability
##                alpha   rhoA  rhoC   AVE
## DOOM           0.970  0.976 0.975 0.851
## ENGAGEMENT     0.965  0.967 0.975 0.906
## MENTAL_HEALTH -0.030 -0.041 0.625 0.495
## LIFESTYLE      0.039  0.000 0.173 0.333
## 
## Alpha, rhoA, and rhoC should exceed 0.7 while AVE should exceed 0.5

BOOTSTRAPPING

boot_model <- bootstrap_model(
  seminr_model = pls_model,
  nboot = 1000,
  cores = parallel::detectCores() - 1
)
## Bootstrapping model using seminr...
## SEMinR Model successfully bootstrapped

BOOTSTRAP SUMMARY

summary(boot_model)
## 
## Results from Bootstrap resamples:  1000
## 
## Bootstrapped Structural Paths:
##                               Original Est. Bootstrap Mean Bootstrap SD
## DOOM  ->  ENGAGEMENT                  0.970          0.970        0.001
## DOOM  ->  MENTAL_HEALTH               0.411          0.411        0.023
## ENGAGEMENT  ->  MENTAL_HEALTH         0.497          0.497        0.024
## MENTAL_HEALTH  ->  LIFESTYLE         -0.007         -0.008        0.025
##                                T Stat. 2.5% CI 97.5% CI Bootstrap P Val
## DOOM  ->  ENGAGEMENT          1225.650   0.968    0.971           0.000
## DOOM  ->  MENTAL_HEALTH         17.558   0.367    0.456           0.000
## ENGAGEMENT  ->  MENTAL_HEALTH   21.016   0.450    0.541           0.000
## MENTAL_HEALTH  ->  LIFESTYLE    -0.295  -0.042    0.039           0.676
## 
## Bootstrapped Weights:
##                        Original Est. Bootstrap Mean Bootstrap SD T Stat.
## DOOM1  ->  DOOM                0.171          0.171        0.000 387.391
## DOOM2  ->  DOOM                0.127          0.127        0.001 184.376
## DOOM3  ->  DOOM                0.144          0.144        0.001 282.567
## DOOM4  ->  DOOM                0.164          0.164        0.000 403.841
## DOOM5  ->  DOOM                0.167          0.167        0.000 420.278
## DOOM6  ->  DOOM                0.148          0.148        0.000 306.647
## DOOM7  ->  DOOM                0.160          0.160        0.000 444.894
## ENG1  ->  ENGAGEMENT           0.275          0.275        0.001 463.205
## ENG2  ->  ENGAGEMENT           0.265          0.265        0.001 527.633
## ENG3  ->  ENGAGEMENT           0.251          0.251        0.001 461.025
## ENG4  ->  ENGAGEMENT           0.258          0.259        0.001 502.563
## MH1  ->  MENTAL_HEALTH         0.927          0.927        0.009 102.021
## MH2  ->  MENTAL_HEALTH         0.388          0.388        0.011  36.706
## LIFE1  ->  LIFESTYLE           0.850          0.288        0.504   1.685
## LIFE2  ->  LIFESTYLE           0.243          0.254        0.511   0.475
## LIFE3  ->  LIFESTYLE          -0.467          0.207        0.543  -0.862
##                        2.5% CI 97.5% CI Bootstrap P Val
## DOOM1  ->  DOOM          0.170    0.172           0.000
## DOOM2  ->  DOOM          0.126    0.128           0.000
## DOOM3  ->  DOOM          0.143    0.145           0.000
## DOOM4  ->  DOOM          0.163    0.165           0.000
## DOOM5  ->  DOOM          0.166    0.167           0.000
## DOOM6  ->  DOOM          0.147    0.149           0.000
## DOOM7  ->  DOOM          0.159    0.160           0.000
## ENG1  ->  ENGAGEMENT     0.274    0.277           0.000
## ENG2  ->  ENGAGEMENT     0.264    0.266           0.000
## ENG3  ->  ENGAGEMENT     0.250    0.252           0.000
## ENG4  ->  ENGAGEMENT     0.257    0.260           0.000
## MH1  ->  MENTAL_HEALTH   0.909    0.944           0.000
## MH2  ->  MENTAL_HEALTH   0.368    0.408           0.000
## LIFE1  ->  LIFESTYLE    -0.766    0.967           0.600
## LIFE2  ->  LIFESTYLE    -0.797    0.963           0.628
## LIFE3  ->  LIFESTYLE    -0.782    0.978           0.732
## 
## Bootstrapped Loadings:
##                        Original Est. Bootstrap Mean Bootstrap SD  T Stat.
## DOOM1  ->  DOOM                0.987          0.987        0.000 2822.393
## DOOM2  ->  DOOM                0.791          0.791        0.004  184.837
## DOOM3  ->  DOOM                0.900          0.900        0.002  376.694
## DOOM4  ->  DOOM                0.959          0.959        0.001  927.413
## DOOM5  ->  DOOM                0.970          0.970        0.001 1304.441
## DOOM6  ->  DOOM                0.893          0.893        0.003  337.281
## DOOM7  ->  DOOM                0.943          0.943        0.001  656.484
## ENG1  ->  ENGAGEMENT           0.974          0.974        0.001 1481.717
## ENG2  ->  ENGAGEMENT           0.957          0.957        0.001  786.206
## ENG3  ->  ENGAGEMENT           0.930          0.930        0.002  496.785
## ENG4  ->  ENGAGEMENT           0.945          0.945        0.001  691.189
## MH1  ->  MENTAL_HEALTH         0.922          0.922        0.004  205.953
## MH2  ->  MENTAL_HEALTH         0.375          0.374        0.022   17.005
## LIFE1  ->  LIFESTYLE           0.852          0.294        0.501    1.699
## LIFE2  ->  LIFESTYLE           0.253          0.263        0.508    0.499
## LIFE3  ->  LIFESTYLE          -0.459          0.212        0.540   -0.850
##                        2.5% CI 97.5% CI Bootstrap P Val
## DOOM1  ->  DOOM          0.986    0.988           0.000
## DOOM2  ->  DOOM          0.783    0.799           0.000
## DOOM3  ->  DOOM          0.895    0.905           0.000
## DOOM4  ->  DOOM          0.957    0.961           0.000
## DOOM5  ->  DOOM          0.969    0.971           0.000
## DOOM6  ->  DOOM          0.887    0.898           0.000
## DOOM7  ->  DOOM          0.940    0.946           0.000
## ENG1  ->  ENGAGEMENT     0.973    0.976           0.000
## ENG2  ->  ENGAGEMENT     0.954    0.959           0.000
## ENG3  ->  ENGAGEMENT     0.926    0.933           0.000
## ENG4  ->  ENGAGEMENT     0.943    0.948           0.000
## MH1  ->  MENTAL_HEALTH   0.913    0.930           0.000
## MH2  ->  MENTAL_HEALTH   0.332    0.416           0.000
## LIFE1  ->  LIFESTYLE    -0.753    0.965           0.594
## LIFE2  ->  LIFESTYLE    -0.784    0.962           0.608
## LIFE3  ->  LIFESTYLE    -0.772    0.979           0.722
## 
## Bootstrapped HTMT:
##                               Original Est. Bootstrap Mean Bootstrap SD 2.5% CI
## DOOM  ->  ENGAGEMENT                  0.999          0.999        0.001   0.998
## DOOM  ->  MENTAL_HEALTH               4.858          6.450        6.324   2.845
## DOOM  ->  LIFESTYLE                   0.066          0.123        0.051   0.052
## ENGAGEMENT  ->  MENTAL_HEALTH         4.915          6.526        6.399   2.864
## ENGAGEMENT  ->  LIFESTYLE             0.053          0.114        0.050   0.042
## MENTAL_HEALTH  ->  LIFESTYLE          0.604          1.307        1.431   0.317
##                               97.5% CI Bootstrap P Val
## DOOM  ->  ENGAGEMENT             1.001           0.442
## DOOM  ->  MENTAL_HEALTH         19.290           0.000
## DOOM  ->  LIFESTYLE              0.243           0.000
## ENGAGEMENT  ->  MENTAL_HEALTH   19.517           0.000
## ENGAGEMENT  ->  LIFESTYLE        0.239           0.000
## MENTAL_HEALTH  ->  LIFESTYLE     4.658           0.950
## 
## Bootstrapped Total Paths:
##                               Original Est. Bootstrap Mean Bootstrap SD 2.5% CI
## DOOM  ->  ENGAGEMENT                  0.970          0.970        0.001   0.968
## DOOM  ->  MENTAL_HEALTH               0.893          0.893        0.003   0.887
## DOOM  ->  LIFESTYLE                  -0.007         -0.007        0.022  -0.038
## ENGAGEMENT  ->  MENTAL_HEALTH         0.497          0.497        0.024   0.450
## ENGAGEMENT  ->  LIFESTYLE            -0.004         -0.004        0.012  -0.021
## MENTAL_HEALTH  ->  LIFESTYLE         -0.007         -0.008        0.025  -0.042
##                               97.5% CI
## DOOM  ->  ENGAGEMENT             0.971
## DOOM  ->  MENTAL_HEALTH          0.897
## DOOM  ->  LIFESTYLE              0.034
## ENGAGEMENT  ->  MENTAL_HEALTH    0.541
## ENGAGEMENT  ->  LIFESTYLE        0.020
## MENTAL_HEALTH  ->  LIFESTYLE     0.039

VISUALISASI MODEL

plot(pls_model)