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(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
options(scipen=999)

# Set working directory
setwd("/Users/melissalagunas/Desktop/Lab/DISSERTATION")

# Read datasets
quant_df <- read_csv("quant_data.csv")
## New names:
## Rows: 230 Columns: 18
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," dbl
## (18): ...1, age, gender, race, US_born, sexual_orientation, employment_s...
## ℹ 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.
## • `` -> `...1`
qual_df <- read_csv("qual_df.csv")
## New names:
## Rows: 187 Columns: 4
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (3): year_education, SS_13_TEXT, PD dbl (1): ...1
## ℹ 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.
## • `` -> `...1`
jobs_df <- read_csv("job_classifications_results.csv")
## Rows: 173 Columns: 3
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): job_title, soc_code, soc_description
## 
## ℹ 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.
# Add participant ID to each dataset
quant_df <- quant_df %>%
  mutate(Participant_ID = row_number())
qual_df <- qual_df %>%
  mutate(Participant_ID = row_number())
jobs_df <- jobs_df %>%
  mutate(Participant_ID = row_number())

# Merge datasets sequentially using left_join
merged_df <- quant_df %>%
  left_join(qual_df, by = "Participant_ID") %>%
  left_join(jobs_df, by = "Participant_ID")

# Print dimensions of all datasets to verify merge
cat("Dimensions of datasets:\n")
## Dimensions of datasets:
cat("Quantitative data:", dim(quant_df), "\n")
## Quantitative data: 230 19
cat("Qualitative data:", dim(qual_df), "\n")
## Qualitative data: 187 5
cat("Jobs data:", dim(jobs_df), "\n")
## Jobs data: 173 4
cat("Merged data:", dim(merged_df), "\n")
## Merged data: 230 26
# Optional: Check for any duplicate column names
duplicate_cols <- names(merged_df)[duplicated(names(merged_df))]
if(length(duplicate_cols) > 0) {
  warning("Duplicate column names found: ", paste(duplicate_cols, collapse = ", "))
}
# Create a mapping vector for unique SOC codes
soc_code_mapping <- c(
    '11-0000' = 1,  # Management Occupations
    '13-0000' = 2,  # Business and Financial Operations Occupations
    '15-0000' = 3,  # Computer and Mathematical Occupations
    '17-0000' = 4,  # Architecture and Engineering Occupations
    '19-0000' = 5,  # Life, Physical, and Social Science Occupations
    '21-0000' = 6,  # Community and Social Service Occupations
    '23-0000' = 7,  # Legal Occupations
    '25-0000' = 8,  # Educational Instruction and Library Occupations
    '27-0000' = 9,  # Arts, Design, Entertainment, Sports, and Media Occupations
    '29-0000' = 10, # Healthcare Practitioners and Technical Occupations
    '35-0000' = 11, # Food Preparation and Serving Related Occupations
    '37-0000' = 12, # Building and Grounds Cleaning and Maintenance Occupations
    '45-0000' = 13, # Farming, Fishing, and Forestry Occupations
    '49-0000' = 14, # Installation, Maintenance, and Repair Occupations
    '51-0000' = 15, # Production Occupations
    '53-0000' = 16  # Transportation and Material Moving Occupations
)

# Create new column with mapped values
merged_df$soc_code_num <- soc_code_mapping[merged_df$soc_code]

str(merged_df)
## tibble [230 × 27] (S3: tbl_df/tbl/data.frame)
##  $ ...1.x            : num [1:230] 1 2 3 4 5 6 7 8 9 10 ...
##  $ age               : num [1:230] NA 21 25 29 NA NA 40 27 60 40 ...
##  $ gender            : num [1:230] 1 2 2 1 1 2 1 2 1 5 ...
##  $ race              : num [1:230] 1 2 2 1 1 6 6 9 1 5 ...
##  $ US_born           : num [1:230] 1 1 1 1 1 1 1 1 1 1 ...
##  $ sexual_orientation: num [1:230] 5 5 5 2 5 9 5 5 5 5 ...
##  $ employment_status : num [1:230] 1 2 1 2 1 1 1 1 1 1 ...
##  $ education         : num [1:230] 6 4 4 4 6 5 1 3 6 3 ...
##  $ religion          : num [1:230] 4 5 14 4 10 5 5 10 4 4 ...
##  $ income            : num [1:230] 9 1 1 2 8 5 5 9 8 2 ...
##  $ fam_income        : num [1:230] 7 2 2 2 8 3 3 6 3 2 ...
##  $ OC_AVG            : num [1:230] 3.5 4 NA 3 NA NA NA 3.5 2.5 3.5 ...
##  $ SBS_AVG           : num [1:230] 3.14 4.43 3.57 2.57 3.14 3.86 3.86 3.57 2.86 4.57 ...
##  $ SS_AVG            : num [1:230] 4 5.5 5.75 3.08 4 4.82 5.92 5.27 6.42 5.92 ...
##  $ BRS_AVG           : num [1:230] 3 3.17 3 NA 2.33 3.33 2.67 NA 3.33 3 ...
##  $ PSNQ_AVG          : num [1:230] NA 5.9 5.33 2.9 4.8 5.6 5.9 5.3 4.3 6.6 ...
##  $ PF_AVG            : num [1:230] 3.88 6 5.12 3 3.62 6 6.12 4.88 5.5 7 ...
##  $ CS_AVG            : num [1:230] 3.25 NA 4.2 2.4 3.2 4 4.4 3.8 4.4 4.8 ...
##  $ Participant_ID    : int [1:230] 1 2 3 4 5 6 7 8 9 10 ...
##  $ ...1.y            : num [1:230] 1 2 3 4 5 6 7 8 9 10 ...
##  $ year_education    : chr [1:230] "2017" "2022" "2022" "2022" ...
##  $ SS_13_TEXT        : chr [1:230] "Mother and Friend" "Uncle(Family Member)" "Friend" "A friend who also is a mother-figure to me." ...
##  $ PD                : chr [1:230] "Associate Attorney at large international law firm." "The Information Technology (IT) profession involves designing, developing, managing, and maintaining computer s"| __truncated__ "Health education" "Education - I work as a college advisor for high school students and support them throughout the college application process." ...
##  $ job_title         : chr [1:230] "Attorney" "IT/Database Administrator" "Health Education" "College Advisor" ...
##  $ soc_code          : chr [1:230] "23-0000" "15-0000" "25-0000" "25-0000" ...
##  $ soc_description   : chr [1:230] "Legal Occupations" "Computer and Mathematical Occupations" "Educational Instruction and Library Occupations" "Educational Instruction and Library Occupations" ...
##  $ soc_code_num      : Named num [1:230] 7 3 8 8 5 6 3 3 8 15 ...
##   ..- attr(*, "names")= chr [1:230] "23-0000" "15-0000" "25-0000" "25-0000" ...
dat <- merged_df[, c("soc_code_num", "OC_AVG", "SS_AVG", "PSNQ_AVG", "BRS_AVG", "SBS_AVG", "PF_AVG", "CS_AVG")]

CORRELATION

# Correlation
library(dplyr)
library(apaTables)

# Subset your quant_dfa to include only the columns of interest
subset_df <- merged_df %>%
  select(OC_AVG, SS_AVG, PSNQ_AVG, BRS_AVG, SBS_AVG, PF_AVG, CS_AVG)

# Compute and save the correlation table
cor_df <- apa.cor.table(subset_df, 
                        table.number = 1, 
                        show.sig.stars = TRUE, 
                        landscape = TRUE, 
                        filename = "correlation_table.doc")

# Ensure the table was created successfully
if (file.exists("correlation_table.doc")) {
  cat("Correlation table successfully saved as 'correlation_table.doc'.\n")
} else {
  cat("Error: Correlation table was not saved.\n")
}
## Correlation table successfully saved as 'correlation_table.doc'.
# Print the correlation table object to check contents
print(cor_df)
## 
## 
## Table 1 
## 
## Means, standard deviations, and correlations with confidence intervals
##  
## 
##   Variable    M    SD   1           2          3          4          
##   1. OC_AVG   3.68 0.90                                              
##                                                                      
##   2. SS_AVG   5.39 0.82 .26**                                        
##                         [.13, .38]                                   
##                                                                      
##   3. PSNQ_AVG 5.63 0.79 .23**       .72**                            
##                         [.11, .35]  [.66, .78]                       
##                                                                      
##   4. BRS_AVG  3.21 0.45 .00         .19**      .20**                 
##                         [-.13, .14] [.06, .31] [.07, .32]            
##                                                                      
##   5. SBS_AVG  3.75 0.66 .28**       .73**      .72**      .20**      
##                         [.16, .40]  [.67, .79] [.65, .77] [.08, .33] 
##                                                                      
##   6. PF_AVG   5.80 0.87 .23**       .72**      .80**      .35**      
##                         [.10, .35]  [.65, .77] [.75, .84] [.23, .46] 
##                                                                      
##   7. CS_AVG   4.08 0.65 .17*        .51**      .69**      .10        
##                         [.04, .29]  [.40, .60] [.62, .75] [-.03, .23]
##                                                                      
##   5          6         
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##                        
##   .74**                
##   [.68, .80]           
##                        
##   .49**      .64**     
##   [.38, .58] [.55, .71]
##                        
## 
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations 
## that could have caused the sample correlation (Cumming, 2014).
##  * indicates p < .05. ** indicates p < .01.
## 

MAIN ANALYSES

One Way ANOVA

RQ1a - How does the type of percieved social support accessible to first-generation professionals in their workplace vary based on their professional discipline?

# One-way ANOVA for RQ1a
# Examining differences in perceived social support across professional disciplines

# First, let's get descriptive statistics by professional discipline
library(dplyr)
desc_stats <- dat %>%
  group_by(soc_code_num) %>%
  summarise(
    n = n(),
    mean_ss = mean(SS_AVG, na.rm = TRUE),
    sd_ss = sd(SS_AVG, na.rm = TRUE),
    se_ss = sd_ss/sqrt(n)
  )
print(desc_stats)
## # A tibble: 17 × 5
##    soc_code_num     n mean_ss  sd_ss   se_ss
##           <dbl> <int>   <dbl>  <dbl>   <dbl>
##  1            1    13    5.56  0.698  0.194 
##  2            2    21    5.42  0.847  0.185 
##  3            3    32    5.26  0.936  0.165 
##  4            4     3    5.36  0.672  0.388 
##  5            5    21    5.34  0.791  0.173 
##  6            6     8    5.48  0.660  0.233 
##  7            7     1    4    NA     NA     
##  8            8    33    5.65  0.849  0.148 
##  9            9     3    5.92  0.545  0.315 
## 10           10    26    5.37  0.808  0.158 
## 11           11     1    5.75 NA     NA     
## 12           12     1    6.67 NA     NA     
## 13           13     1    4.09 NA     NA     
## 14           14     1    6.42 NA     NA     
## 15           15     4    5.96  0.416  0.208 
## 16           16     4    5.97  0.877  0.439 
## 17           NA    57    5.19  0.735  0.0973
# Check assumptions
# 1. Test for normality within each group
library(car)
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:purrr':
## 
##     some
## The following object is masked from 'package:dplyr':
## 
##     recode
leveneTest(SS_AVG ~ as.factor(soc_code_num), data = dat)
## Levene's Test for Homogeneity of Variance (center = median)
##        Df F value Pr(>F)
## group  15  0.9242 0.5387
##       157
# 2. Visual check of distributions
library(ggplot2)
# Box plot
ggplot(dat, aes(x = as.factor(soc_code_num), y = SS_AVG)) +
  geom_boxplot() +
  labs(title = "Social Support by Professional Discipline",
       x = "Professional Discipline Code",
       y = "Social Support Score")

# Conduct one-way ANOVA
anova_result <- aov(SS_AVG ~ as.factor(soc_code_num), data = dat)
summary(anova_result)
##                          Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(soc_code_num)  15  12.36  0.8243   1.213  0.267
## Residuals               157 106.65  0.6793               
## 57 observations deleted due to missingness
# If ANOVA is significant, conduct post-hoc tests
TukeyHSD(anova_result)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = SS_AVG ~ as.factor(soc_code_num), data = dat)
## 
## $`as.factor(soc_code_num)`
##              diff        lwr       upr     p adj
## 2-1   -0.14765568 -1.1606024 0.8652910 1.0000000
## 3-1   -0.30790865 -1.2519436 0.6361263 0.9989579
## 4-1   -0.20384615 -2.0423145 1.6346222 1.0000000
## 5-1   -0.22194139 -1.2348881 0.7910053 0.9999927
## 6-1   -0.08509615 -1.3748934 1.2047011 1.0000000
## 7-1   -1.56384615 -4.5425053 1.4148130 0.9022644
## 8-1    0.08524476 -0.8546489 1.0251384 1.0000000
## 9-1    0.35282051 -1.4856478 2.1912888 0.9999988
## 10-1  -0.19192308 -1.1669181 0.7830720 0.9999983
## 11-1   0.18615385 -2.7925053 3.1648130 1.0000000
## 12-1   1.10615385 -1.8725053 4.0848130 0.9956528
## 13-1  -1.47384615 -4.4525053 1.5048130 0.9375540
## 14-1   0.85615385 -2.1225053 3.8348130 0.9997661
## 15-1   0.39615385 -1.2450074 2.0373151 0.9999740
## 16-1   0.40615385 -1.2350074 2.0473151 0.9999641
## 3-2   -0.16025298 -0.9663397 0.6458337 0.9999980
## 4-2   -0.05619048 -1.8277829 1.7154019 1.0000000
## 5-2   -0.07428571 -0.9600819 0.8115105 1.0000000
## 6-2    0.06255952 -1.1299801 1.2550992 1.0000000
## 7-2   -1.41619048 -4.3540441 1.5216632 0.9493559
## 8-2    0.23290043 -0.5683324 1.0341332 0.9997319
## 9-2    0.50047619 -1.2711162 2.2720686 0.9998107
## 10-2  -0.04426740 -0.8864011 0.7978663 1.0000000
## 11-2   0.33380952 -2.6040441 3.2716632 1.0000000
## 12-2   1.25380952 -1.6840441 4.1916632 0.9826072
## 13-2  -1.32619048 -4.2640441 1.6116632 0.9710154
## 14-2   1.00380952 -1.9340441 3.9416632 0.9982383
## 15-2   0.54380952 -1.0220717 2.1096908 0.9978902
## 16-2   0.55380952 -1.0120717 2.1196908 0.9974236
## 4-3    0.10406250 -1.6290505 1.8371755 1.0000000
## 5-3    0.08596726 -0.7201194 0.8920540 1.0000000
## 6-3    0.22281250 -0.9117763 1.3574013 0.9999983
## 7-3   -1.25593750 -4.1707488 1.6588738 0.9809847
## 8-3    0.39315341 -0.3189666 1.1052734 0.8614649
## 9-3    0.66072917 -1.0723838 2.3938421 0.9942827
## 10-3   0.11598558 -0.6418601 0.8738313 0.9999999
## 11-3   0.49406250 -2.4207488 3.4088738 0.9999998
## 12-3   1.41406250 -1.5007488 4.3288738 0.9466647
## 13-3  -1.16593750 -4.0807488 1.7488738 0.9906948
## 14-3   1.16406250 -1.7507488 4.0788738 0.9908425
## 15-3   0.70406250 -0.8181481 2.2262731 0.9641787
## 16-3   0.71406250 -0.8081481 2.2362731 0.9596075
## 5-4   -0.01809524 -1.7896876 1.7534972 1.0000000
## 6-4    0.11875000 -1.8244575 2.0619575 1.0000000
## 7-4   -1.36000000 -4.6743459 1.9543459 0.9880441
## 8-4    0.28909091 -1.4417698 2.0199516 0.9999998
## 9-4    0.55666667 -1.7869298 2.9002631 0.9999789
## 10-4   0.01192308 -1.7382466 1.7620928 1.0000000
## 11-4   0.39000000 -2.9243459 3.7043459 1.0000000
## 12-4   1.31000000 -2.0043459 4.6243459 0.9917419
## 13-4  -1.27000000 -4.5843459 2.0443459 0.9939748
## 14-4   1.06000000 -2.2543459 4.3743459 0.9991686
## 15-4   0.60000000 -1.5922338 2.7922338 0.9998719
## 16-4   0.61000000 -1.5822338 2.8022338 0.9998428
## 6-5    0.13684524 -1.0556944 1.3293849 1.0000000
## 7-5   -1.34190476 -4.2797584 1.5959489 0.9678604
## 8-5    0.30718615 -0.4940467 1.1084190 0.9939409
## 9-5    0.57476190 -1.1968305 2.3463543 0.9990195
## 10-5   0.03001832 -0.8121154 0.8721521 1.0000000
## 11-5   0.40809524 -2.5297584 3.3459489 1.0000000
## 12-5   1.32809524 -1.6097584 4.2659489 0.9706461
## 13-5  -1.25190476 -4.1897584 1.6859489 0.9828533
## 14-5   1.07809524 -1.8597584 4.0159489 0.9961672
## 15-5   0.61809524 -0.9477860 2.1839765 0.9918514
## 16-5   0.62809524 -0.9377860 2.1939765 0.9904356
## 7-6   -1.47875000 -4.5231711 1.5656711 0.9461338
## 8-6    0.17034091 -0.9608045 1.3014863 1.0000000
## 9-6    0.43791667 -1.5052909 2.3811242 0.9999894
## 10-6  -0.10682692 -1.2673032 1.0536493 1.0000000
## 11-6   0.27125000 -2.7731711 3.3156711 1.0000000
## 12-6   1.19125000 -1.8531711 4.2356711 0.9925394
## 13-6  -1.38875000 -4.4331711 1.6556711 0.9682275
## 14-6   0.94125000 -2.1031711 3.9856711 0.9994400
## 15-6   0.48125000 -1.2764473 2.2389473 0.9998713
## 16-6   0.49125000 -1.2664473 2.2489473 0.9998340
## 8-7    1.64909091 -1.2643818 4.5625636 0.8371006
## 9-7    1.91666667 -1.3976792 5.2310126 0.8138348
## 10-7   1.37192308 -1.5530621 4.2969083 0.9596510
## 11-7   1.75000000 -2.3092281 5.8092281 0.9808882
## 12-7   2.67000000 -1.3892281 6.7292281 0.6310993
## 13-7   0.09000000 -3.9692281 4.1492281 1.0000000
## 14-7   2.42000000 -1.6392281 6.4792281 0.7771189
## 15-7   1.96000000 -1.2491016 5.1691016 0.7449249
## 16-7   1.97000000 -1.2391016 5.1791016 0.7378164
## 9-8    0.26757576 -1.4632849 1.9984365 0.9999999
## 10-8  -0.27716783 -1.0298486 0.4755129 0.9960236
## 11-8   0.10090909 -2.8125636 3.0143818 1.0000000
## 12-8   1.02090909 -1.8925636 3.9343818 0.9976719
## 13-8  -1.55909091 -4.4725636 1.3543818 0.8880449
## 14-8   0.77090909 -2.1425636 3.6843818 0.9999160
## 15-8   0.31090909 -1.2087367 1.8305548 0.9999971
## 16-8   0.32090909 -1.1987367 1.8405548 0.9999955
## 10-9  -0.54474359 -2.2949133 1.2054261 0.9993941
## 11-9  -0.16666667 -3.4810126 3.1476792 1.0000000
## 12-9   0.75333333 -2.5610126 4.0676792 0.9999881
## 13-9  -1.82666667 -5.1410126 1.4876792 0.8630429
## 14-9   0.50333333 -2.8110126 3.8176792 1.0000000
## 15-9   0.04333333 -2.1489004 2.2355671 1.0000000
## 16-9   0.05333333 -2.1389004 2.2455671 1.0000000
## 11-10  0.37807692 -2.5469083 3.3030621 1.0000000
## 12-10  1.29807692 -1.6269083 4.2230621 0.9750987
## 13-10 -1.28192308 -4.2069083 1.6430621 0.9777683
## 14-10  1.04807692 -1.8769083 3.9730621 0.9970316
## 15-10  0.58807692 -0.9535256 2.1296795 0.9942465
## 16-10  0.59807692 -0.9435256 2.1396795 0.9931599
## 12-11  0.92000000 -3.1392281 4.9792281 0.9999886
## 13-11 -1.66000000 -5.7192281 2.3992281 0.9884332
## 14-11  0.67000000 -3.3892281 4.7292281 0.9999998
## 15-11  0.21000000 -2.9991016 3.4191016 1.0000000
## 16-11  0.22000000 -2.9891016 3.4291016 1.0000000
## 13-12 -2.58000000 -6.6392281 1.4792281 0.6863547
## 14-12 -0.25000000 -4.3092281 3.8092281 1.0000000
## 15-12 -0.71000000 -3.9191016 2.4991016 0.9999917
## 16-12 -0.70000000 -3.9091016 2.5091016 0.9999931
## 14-13  2.33000000 -1.7292281 6.3892281 0.8221613
## 15-13  1.87000000 -1.3391016 5.0791016 0.8050515
## 16-13  1.88000000 -1.3291016 5.0891016 0.7987425
## 15-14 -0.46000000 -3.6691016 2.7491016 1.0000000
## 16-14 -0.45000000 -3.6591016 2.7591016 1.0000000
## 16-15  0.01000000 -2.0196141 2.0396141 1.0000000

To examine how perceived social support varies across professional disciplines (RQ1a), a one-way analysis of variance (ANOVA) was conducted. Results indicated no statistically significant differences in perceived social support across the 16 professional disciplines, F(15, 157) = 1.21, p = .267. This suggests that first-generation professionals’ perceived levels of social support were relatively consistent across different occupational categories. It should be noted that 57 cases were excluded from this analysis due to missing data.

Regression Analysis

RQ2a - How does the type of perceived social support accessible to first-generation professional in their workplace differ based on the organizational climate of their workplace?

# Regression analysis for RQ2a
# Examining how organizational climate relates to perceived social support

# First, let's check assumptions
# Create scatterplot to check linearity
plot(dat$OC_AVG, dat$SS_AVG, 
     main="Scatterplot of Organizational Climate vs Social Support",
     xlab="Organizational Climate", 
     ylab="Social Support")

# Run regression model
rq2a_model <- lm(SS_AVG ~ OC_AVG + soc_code_num, data = dat)

# Check regression diagnostics
par(mfrow=c(2,2))
plot(rq2a_model)

# Get summary of results
summary(rq2a_model)
## 
## Call:
## lm(formula = SS_AVG ~ OC_AVG + soc_code_num, data = dat)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.21004 -0.45863  0.04277  0.54881  1.91351 
## 
## Coefficients:
##              Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)   3.99681    0.28109  14.219 < 0.0000000000000002 ***
## OC_AVG        0.33719    0.06695   5.037           0.00000123 ***
## soc_code_num  0.03521    0.01569   2.245               0.0261 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7724 on 166 degrees of freedom
##   (61 observations deleted due to missingness)
## Multiple R-squared:  0.1476, Adjusted R-squared:  0.1373 
## F-statistic: 14.37 on 2 and 166 DF,  p-value: 0.00000176
# Calculate standardized coefficients
library(lm.beta)
rq2a_std <- lm.beta(rq2a_model)
summary(rq2a_std)
## 
## Call:
## lm(formula = SS_AVG ~ OC_AVG + soc_code_num, data = dat)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.21004 -0.45863  0.04277  0.54881  1.91351 
## 
## Coefficients:
##              Estimate Standardized Std. Error t value             Pr(>|t|)    
## (Intercept)   3.99681           NA    0.28109  14.219 < 0.0000000000000002 ***
## OC_AVG        0.33719      0.36218    0.06695   5.037           0.00000123 ***
## soc_code_num  0.03521      0.16140    0.01569   2.245               0.0261 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7724 on 166 degrees of freedom
##   (61 observations deleted due to missingness)
## Multiple R-squared:  0.1476, Adjusted R-squared:  0.1373 
## F-statistic: 14.37 on 2 and 166 DF,  p-value: 0.00000176
# Get confidence intervals
confint(rq2a_model, level = 0.95)
##                    2.5 %     97.5 %
## (Intercept)  3.441833254 4.55179630
## OC_AVG       0.205012938 0.46936296
## soc_code_num 0.004237867 0.06617676
# here is the model w/o PD
simple_model <- lm(SS_AVG ~ OC_AVG, data = dat)
summary(simple_model)
## 
## Call:
## lm(formula = SS_AVG ~ OC_AVG, data = dat)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.16088 -0.52311 -0.05385  0.52615  2.22507 
## 
## Coefficients:
##             Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)  4.54196    0.22148  20.507 < 0.0000000000000002 ***
## OC_AVG       0.23297    0.05848   3.984            0.0000917 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.79 on 224 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.06616,    Adjusted R-squared:  0.062 
## F-statistic: 15.87 on 1 and 224 DF,  p-value: 0.00009171

Multiple regression analysis was conducted to examine the relationship between organizational climate and perceived social support while controlling for professional discipline. The overall model was significant, F(2, 166) = 14.37, p < .001, explaining 14.8% of the variance (R² = .148, adjusted R² = .137). Organizational climate emerged as a significant predictor of social support (β = 0.362, b = 0.337, p < .001, 95% CI [0.205, 0.469]), suggesting that more positive organizational climates are associated with higher levels of perceived social support. Professional discipline number had a smaller but statistically significant effect (β = 0.161, b = 0.035, p = .026, 95% CI [0.004, 0.066]). A supplementary analysis without the professional discipline control variable showed that organizational climate alone explained 6.6% of the variance in social support (F(1, 224) = 15.87, p < .001). Notably, 61 observations were excluded from the main analysis due to missing data.

Multiple Regression Analysis

RQ3a - Are higher levels of social support predictive of greater career satisfaction in the workplace?

# Load required packages
library(tidyverse)

# Main regression analysis function
analyze_career_outcomes <- function(data) {
  # List of dependent variables to analyze
  dvs <- c("SBS_AVG", "CS_AVG", "PF_AVG")
  outcomes <- c("Sense of Belonging", "Career Satisfaction", "Professional Flourishing")
  
  # Function to run single regression
  run_regression <- function(dv, outcome_name) {
    # Fit model with both controls
    model <- lm(paste(dv, "~ SS_AVG + soc_code_num + OC_AVG"), data = data)
    
    # Get model summary
    summary_stats <- summary(model)
    
    # Print results
    cat("\n=== Results for Social Support →", outcome_name, "===\n")
    print(summary_stats)
    
    # Create visualization
    plot <- ggplot(data, aes_string(x = "SS_AVG", y = dv)) +
      geom_point(alpha = 0.5) +
      geom_smooth(method = "lm", color = "blue") +
      theme_minimal() +
      labs(title = paste("Social Support vs", outcome_name,
                        "\n(Controlling for Professional Discipline & Organizational Climate)"),
           x = "Perceived Social Support",
           y = outcome_name)
    
    print(plot)
    
    return(list(model = model, summary = summary_stats))
  }
  
  # Run analysis for each outcome
  results <- Map(run_regression, dvs, outcomes)
  return(results)
}

# Run the analysis
results <- analyze_career_outcomes(dat)
## 
## === Results for Social Support → Sense of Belonging ===
## 
## Call:
## lm(formula = paste(dv, "~ SS_AVG + soc_code_num + OC_AVG"), data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.4235 -0.2945  0.0134  0.2976  1.1560 
## 
## Coefficients:
##              Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)  0.248685   0.225538   1.103              0.27179    
## SS_AVG       0.580309   0.041816  13.878 < 0.0000000000000002 ***
## soc_code_num 0.002858   0.008578   0.333              0.73943    
## OC_AVG       0.114551   0.038726   2.958              0.00355 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4161 on 165 degrees of freedom
##   (61 observations deleted due to missingness)
## Multiple R-squared:  0.6214, Adjusted R-squared:  0.6145 
## F-statistic: 90.26 on 3 and 165 DF,  p-value: < 0.00000000000000022
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `geom_smooth()` using formula = 'y ~ x'

## 
## === Results for Social Support → Career Satisfaction ===
## 
## Call:
## lm(formula = paste(dv, "~ SS_AVG + soc_code_num + OC_AVG"), data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.8250 -0.2724  0.0531  0.3305  1.4546 
## 
## Coefficients:
##                  Estimate   Std. Error t value       Pr(>|t|)    
## (Intercept)   1.902610305  0.294848621   6.453 0.000000001184 ***
## SS_AVG        0.372435924  0.054664129   6.813 0.000000000173 ***
## soc_code_num -0.000004566  0.011234402   0.000          1.000    
## OC_AVG        0.038282920  0.050629633   0.756          0.451    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.544 on 164 degrees of freedom
##   (62 observations deleted due to missingness)
## Multiple R-squared:  0.2656, Adjusted R-squared:  0.2522 
## F-statistic: 19.77 on 3 and 164 DF,  p-value: 0.00000000005458
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 1 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 1 rows containing missing values (`geom_point()`).

## 
## === Results for Social Support → Professional Flourishing ===
## 
## Call:
## lm(formula = paste(dv, "~ SS_AVG + soc_code_num + OC_AVG"), data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.73391 -0.27070 -0.02618  0.35869  1.60790 
## 
## Coefficients:
##                Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)   1.7334159  0.2890229   5.998         0.0000000123 ***
## SS_AVG        0.7231786  0.0535863  13.496 < 0.0000000000000002 ***
## soc_code_num -0.0004938  0.0109928  -0.045                0.964    
## OC_AVG        0.0536756  0.0496264   1.082                0.281    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5332 on 165 degrees of freedom
##   (61 observations deleted due to missingness)
## Multiple R-squared:  0.5788, Adjusted R-squared:  0.5711 
## F-statistic: 75.58 on 3 and 165 DF,  p-value: < 0.00000000000000022
## `geom_smooth()` using formula = 'y ~ x'

Based on the R output, I’ll revise the write-up to accurately reflect the results: Multiple regression analyses were conducted to examine the relationship between perceived social support and three career success outcomes, controlling for professional discipline number and organizational climate. The analyses revealed significant positive relationships across all outcomes. For sense of belonging, the overall model explained 62.1% of the variance (adjusted R² = .615), F(3, 165) = 90.26, p < .001. Perceived social support was a strong predictor (b = 0.580, p < .001), and organizational climate also showed a significant effect (b = 0.115, p = .004). Professional discipline number did not significantly predict sense of belonging (b = 0.003, p = .739). For career satisfaction, the model explained 26.6% of the variance (adjusted R² = .252), F(3, 164) = 19.77, p < .001. Social support significantly predicted career satisfaction (b = 0.372, p < .001), while neither organizational climate (b = 0.038, p = .451) nor professional discipline number (b = 0.000, p = 1.000) showed significant effects. For professional flourishing, the model explained 57.9% of the variance (adjusted R² = .571), F(3, 165) = 75.58, p < .001. Social support emerged as a strong predictor (b = 0.723, p < .001), while organizational climate (b = 0.054, p = .281) and professional discipline number (b = -0.000, p = .964) were not significant predictors. All analyses excluded cases with missing data (61-62 observations), but the models demonstrated good fit with significant F-statistics (all ps < .001). The relationship between social support and career success outcomes was strongest for professional flourishing and sense of belonging, with a relatively smaller but still significant effect on career satisfaction.

Multiple Regression Analysis

RQ4 - Is perceived social support network quality predictive of career success in the workplace?

# Regression analysis for network quality
analyze_network_quality <- function(data) {
 # List of dependent variables to analyze
 dvs <- c("SBS_AVG", "CS_AVG", "PF_AVG")
 outcomes <- c("Sense of Belonging", "Career Satisfaction", "Professional Flourishing")
 
 # Function to run single regression
 run_regression <- function(dv, outcome_name) {
   # Fit model with both controls
   model <- lm(paste(dv, "~ PSNQ_AVG + soc_code_num + OC_AVG"), data = data)
   
   # Get summary
   summary_stats <- summary(model)
   
   # Print results
   cat("\n=== Results for Network Quality →", outcome_name, "===\n")
   print(summary_stats)
   
   # Create visualization
   plot <- ggplot(data, aes_string(x = "PSNQ_AVG", y = dv)) +
     geom_point(alpha = 0.5) +
     geom_smooth(method = "lm", color = "blue") +
     theme_minimal() +
     labs(title = paste("Network Quality vs", outcome_name,
                       "\n(Controlling for Professional Discipline & Organizational Climate)"),
          x = "Perceived Network Quality",
          y = outcome_name)
   
   print(plot)
   
   return(list(model = model, summary = summary_stats))
 }
 
 # Run analysis for each outcome
 results <- Map(run_regression, dvs, outcomes)
 return(results)
}

# Run the analysis
results_nq <- analyze_network_quality(dat)
## 
## === Results for Network Quality → Sense of Belonging ===
## 
## Call:
## lm(formula = paste(dv, "~ PSNQ_AVG + soc_code_num + OC_AVG"), 
##     data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.16831 -0.23789  0.02653  0.24480  1.36990 
## 
## Coefficients:
##              Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)  0.087952   0.253173   0.347              0.72874    
## PSNQ_AVG     0.576514   0.045712  12.612 < 0.0000000000000002 ***
## soc_code_num 0.007436   0.008951   0.831              0.40729    
## OC_AVG       0.128410   0.040435   3.176              0.00179 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4362 on 164 degrees of freedom
##   (62 observations deleted due to missingness)
## Multiple R-squared:  0.5836, Adjusted R-squared:  0.576 
## F-statistic: 76.62 on 3 and 164 DF,  p-value: < 0.00000000000000022
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 1 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 1 rows containing missing values (`geom_point()`).

## 
## === Results for Network Quality → Career Satisfaction ===
## 
## Call:
## lm(formula = paste(dv, "~ PSNQ_AVG + soc_code_num + OC_AVG"), 
##     data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.6601 -0.2338  0.0769  0.2879  1.2949 
## 
## Coefficients:
##                Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)   1.2486834  0.2838619   4.399            0.0000196 ***
## PSNQ_AVG      0.4987344  0.0512695   9.728 < 0.0000000000000002 ***
## soc_code_num -0.0006643  0.0100558  -0.066                0.947    
## OC_AVG        0.0063903  0.0453368   0.141                0.888    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.489 on 163 degrees of freedom
##   (63 observations deleted due to missingness)
## Multiple R-squared:  0.4038, Adjusted R-squared:  0.3928 
## F-statistic:  36.8 on 3 and 163 DF,  p-value: < 0.00000000000000022
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 2 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 2 rows containing missing values (`geom_point()`).

## 
## === Results for Network Quality → Professional Flourishing ===
## 
## Call:
## lm(formula = paste(dv, "~ PSNQ_AVG + soc_code_num + OC_AVG"), 
##     data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.03442 -0.30038 -0.06397  0.25608  1.85517 
## 
## Coefficients:
##              Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)  1.219990   0.277579   4.395            0.0000198 ***
## PSNQ_AVG     0.793606   0.050119  15.835 < 0.0000000000000002 ***
## soc_code_num 0.003506   0.009813   0.357                0.721    
## OC_AVG       0.045568   0.044333   1.028                0.306    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4782 on 164 degrees of freedom
##   (62 observations deleted due to missingness)
## Multiple R-squared:  0.6506, Adjusted R-squared:  0.6442 
## F-statistic: 101.8 on 3 and 164 DF,  p-value: < 0.00000000000000022
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 1 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 1 rows containing missing values (`geom_point()`).

> Multiple regression analyses examined the relationship between perceived network quality and career success outcomes, controlling for professional discipline number and organizational climate. For sense of belonging, the overall model explained 58.4% of the variance (adjusted R² = .576), F(3, 164) = 76.62, p < .001. Network quality was a strong predictor (b = 0.577, p < .001), and organizational climate also showed a significant effect (b = 0.128, p = .002). Professional discipline number was not a significant predictor (b = 0.007, p = .407). For career satisfaction, the model explained 40.4% of the variance (adjusted R² = .393), F(3, 163) = 36.80, p < .001. Network quality significantly predicted career satisfaction (b = 0.499, p < .001), while neither organizational climate (b = 0.006, p = .888) nor professional discipline number (b = -0.001, p = .947) showed significant effects. For professional flourishing, the model explained 65.1% of the variance (adjusted R² = .644), F(3, 164) = 101.80, p < .001. Network quality emerged as the strongest predictor (b = 0.794, p < .001), while organizational climate (b = 0.046, p = .306) and professional discipline number (b = 0.004, p = .721) were not significant predictors. All analyses excluded cases with missing data (62-63 observations), but the models demonstrated good fit with significant F-statistics (all ps < .001). The relationship between network quality and career success outcomes was strongest for professional flourishing, followed by sense of belonging, with a relatively smaller but still significant effect on career satisfaction.

Parallel Mediation Analysis

RQ5a - Does perceived support network quality indirectly influence the relationship between social support and career success outcomes, measured by sense of belonging in the workplace, professional flourishing, and career satisfaction?

RQ5b Does resilience indirectly influence the relationship between perceived social support and career success outcomes, measured by sense of belonging in the workplace, professional flourishing, and career satisfaction?

library(lavaan)
## This is lavaan 0.6-16
## lavaan is FREE software! Please report any bugs.
# Single mediator models
# 1. Network Quality as mediator
model_nq <- function(dv) {
  sprintf("
  # Direct effects
  PSNQ_AVG ~ a * SS_AVG + cv1 * soc_code_num + cv2 * OC_AVG
  %s ~ c * SS_AVG + b * PSNQ_AVG + cv3 * soc_code_num + cv4 * OC_AVG
  
  # Indirect effect
  indirect := a * b
  total := c + indirect
  ", dv)
}

# 2. Resilience as mediator 
model_rs <- function(dv) {
  sprintf("
  # Direct effects
  BRS_AVG ~ a * SS_AVG + cv1 * soc_code_num + cv2 * OC_AVG
  %s ~ c * SS_AVG + b * BRS_AVG + cv3 * soc_code_num + cv4 * OC_AVG
  
  # Indirect effect
  indirect := a * b
  total := c + indirect
  ", dv)
}

# 3. Parallel mediation model
model_parallel <- function(dv) {
  sprintf("
  # Direct effects
  PSNQ_AVG ~ a1 * SS_AVG + cv1 * soc_code_num + cv2 * OC_AVG
  BRS_AVG ~ a2 * SS_AVG + cv3 * soc_code_num + cv4 * OC_AVG
  %s ~ c * SS_AVG + b1 * PSNQ_AVG + b2 * BRS_AVG + cv5 * soc_code_num + cv6 * OC_AVG
  
  # Indirect effects
  indirect_nq := a1 * b1
  indirect_rs := a2 * b2
  total_indirect := indirect_nq + indirect_rs
  total := c + total_indirect
  ", dv)
}

# Function to run all mediation analyses
run_mediation_analyses <- function(data, dv, outcome_name) {
  # 1. Network Quality mediation
  fit_nq <- sem(model_nq(dv), data = data, 
                se = "bootstrap", bootstrap = 10000)
  
  # 2. Resilience mediation
  fit_rs <- sem(model_rs(dv), data = data, 
                se = "bootstrap", bootstrap = 10000)
  
  # 3. Parallel mediation
  fit_parallel <- sem(model_parallel(dv), data = data, 
                     se = "bootstrap", bootstrap = 10000)
  
  # Print results
  cat("\n=== Mediation Results for", outcome_name, "===\n")
  cat("\n1. Network Quality Mediation:\n")
  print(summary(fit_nq, standardized = TRUE, ci = TRUE))
  
  cat("\n2. Resilience Mediation:\n")
  print(summary(fit_rs, standardized = TRUE, ci = TRUE))
  
  cat("\n3. Parallel Mediation:\n")
  print(summary(fit_parallel, standardized = TRUE, ci = TRUE))
  
  return(list(nq = fit_nq, rs = fit_rs, parallel = fit_parallel))
}

# Run analyses for all DVs
dvs <- c("SBS_AVG", "CS_AVG", "PF_AVG")
outcomes <- c("Sense of Belonging", "Career Satisfaction", "Professional Flourishing")
results <- Map(run_mediation_analyses, list(dat), dvs, outcomes)
## 
## === Mediation Results for Sense of Belonging ===
## 
## 1. Network Quality Mediation:
## lavaan 0.6.16 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         9
## 
##                                                   Used       Total
##   Number of observations                           168         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   PSNQ_AVG ~                                                            
##     SS_AVG     (a)    0.679    0.065   10.408    0.000    0.549    0.803
##     sc_cd_nm (cv1)    0.004    0.010    0.382    0.702   -0.015    0.023
##     OC_AVG   (cv2)    0.086    0.062    1.384    0.166   -0.030    0.215
##   SBS_AVG ~                                                             
##     SS_AVG     (c)    0.375    0.066    5.682    0.000    0.249    0.508
##     PSNQ_AVG   (b)    0.305    0.070    4.368    0.000    0.167    0.443
##     sc_cd_nm (cv3)    0.002    0.008    0.210    0.834   -0.014    0.016
##     OC_AVG   (cv4)    0.088    0.034    2.576    0.010    0.015    0.149
##    Std.lv  Std.all
##                   
##     0.679    0.707
##     0.004    0.018
##     0.086    0.097
##                   
##     0.375    0.463
##     0.305    0.361
##     0.002    0.009
##     0.088    0.117
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .PSNQ_AVG          0.276    0.039    6.991    0.000    0.197    0.351
##    .SBS_AVG           0.144    0.016    9.204    0.000    0.110    0.171
##    Std.lv  Std.all
##     0.276    0.440
##     0.144    0.324
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect          0.207    0.048    4.287    0.000    0.115    0.305
##     total             0.583    0.041   14.089    0.000    0.502    0.663
##    Std.lv  Std.all
##     0.207    0.255
##     0.583    0.719
## 
## 
## 2. Resilience Mediation:
## lavaan 0.6.16 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         9
## 
##                                                   Used       Total
##   Number of observations                           167         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   BRS_AVG ~                                                             
##     SS_AVG     (a)    0.106    0.041    2.578    0.010    0.028    0.188
##     sc_cd_nm (cv1)   -0.013    0.009   -1.517    0.129   -0.030    0.004
##     OC_AVG   (cv2)   -0.051    0.040   -1.277    0.201   -0.129    0.027
##   SBS_AVG ~                                                             
##     SS_AVG     (c)    0.587    0.042   13.952    0.000    0.504    0.669
##     BRS_AVG    (b)   -0.027    0.075   -0.359    0.720   -0.175    0.119
##     sc_cd_nm (cv3)    0.002    0.009    0.236    0.813   -0.015    0.019
##     OC_AVG   (cv4)    0.112    0.037    3.071    0.002    0.038    0.182
##    Std.lv  Std.all
##                   
##     0.106    0.197
##    -0.013   -0.117
##    -0.051   -0.105
##                   
##     0.587    0.719
##    -0.027   -0.018
##     0.002    0.012
##     0.112    0.151
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .BRS_AVG           0.183    0.019    9.614    0.000    0.143    0.217
##    .SBS_AVG           0.171    0.019    9.111    0.000    0.132    0.205
##    Std.lv  Std.all
##     0.183    0.959
##     0.171    0.387
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect         -0.003    0.009   -0.333    0.739   -0.022    0.014
##     total             0.584    0.042   13.868    0.000    0.501    0.667
##    Std.lv  Std.all
##    -0.003   -0.003
##     0.584    0.715
## 
## 
## 3. Parallel Mediation:
## lavaan 0.6.16 ended normally after 2 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        14
## 
##                                                   Used       Total
##   Number of observations                           166         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.447
##   Degrees of freedom                                 1
##   P-value (Chi-square)                           0.504
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   PSNQ_AVG ~                                                            
##     SS_AVG    (a1)    0.653    0.064   10.262    0.000    0.526    0.776
##     sc_cd_nm (cv1)    0.005    0.010    0.541    0.589   -0.013    0.024
##     OC_AVG   (cv2)    0.088    0.060    1.471    0.141   -0.024    0.213
##   BRS_AVG ~                                                             
##     SS_AVG    (a2)    0.104    0.042    2.501    0.012    0.025    0.187
##     sc_cd_nm (cv3)   -0.013    0.009   -1.525    0.127   -0.030    0.004
##     OC_AVG   (cv4)   -0.051    0.040   -1.279    0.201   -0.129    0.028
##   SBS_AVG ~                                                             
##     SS_AVG     (c)    0.383    0.065    5.891    0.000    0.260    0.513
##     PSNQ_AVG  (b1)    0.319    0.071    4.483    0.000    0.180    0.455
##     BRS_AVG   (b2)   -0.047    0.070   -0.664    0.507   -0.182    0.096
##     sc_cd_nm (cv5)    0.000    0.008    0.000    1.000   -0.016    0.015
##     OC_AVG   (cv6)    0.083    0.034    2.465    0.014    0.011    0.142
##    Std.lv  Std.all
##                   
##     0.653    0.688
##     0.005    0.026
##     0.088    0.103
##                   
##     0.104    0.193
##    -0.013   -0.116
##    -0.051   -0.104
##                   
##     0.383    0.466
##     0.319    0.368
##    -0.047   -0.031
##     0.000    0.000
##     0.083    0.112
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .PSNQ_AVG          0.271    0.039    6.901    0.000    0.194    0.348
##    .BRS_AVG           0.184    0.019    9.609    0.000    0.143    0.217
##    .SBS_AVG           0.144    0.016    8.871    0.000    0.109    0.172
##    Std.lv  Std.all
##     0.271    0.462
##     0.184    0.961
##     0.144    0.327
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect_nq       0.208    0.048    4.300    0.000    0.116    0.305
##     indirect_rs      -0.005    0.008   -0.600    0.549   -0.023    0.010
##     total_indirect    0.204    0.048    4.276    0.000    0.112    0.299
##     total             0.587    0.043   13.645    0.000    0.500    0.671
##    Std.lv  Std.all
##     0.208    0.253
##    -0.005   -0.006
##     0.204    0.247
##     0.587    0.713
## 
## 
## === Mediation Results for Career Satisfaction ===
## 
## 1. Network Quality Mediation:
## lavaan 0.6.16 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         9
## 
##                                                   Used       Total
##   Number of observations                           167         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   PSNQ_AVG ~                                                            
##     SS_AVG     (a)    0.679    0.064   10.567    0.000    0.550    0.803
##     sc_cd_nm (cv1)    0.004    0.010    0.411    0.681   -0.015    0.023
##     OC_AVG   (cv2)    0.086    0.061    1.396    0.163   -0.030    0.212
##   CS_AVG ~                                                              
##     SS_AVG     (c)    0.058    0.098    0.597    0.550   -0.136    0.249
##     PSNQ_AVG   (b)    0.456    0.091    5.031    0.000    0.282    0.640
##     sc_cd_nm (cv3)   -0.002    0.008   -0.192    0.848   -0.018    0.014
##     OC_AVG   (cv4)    0.000    0.061    0.001    0.999   -0.122    0.119
##    Std.lv  Std.all
##                   
##     0.679    0.707
##     0.004    0.019
##     0.086    0.097
##                   
##     0.058    0.077
##     0.456    0.579
##    -0.002   -0.010
##     0.000    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .PSNQ_AVG          0.277    0.040    7.014    0.000    0.199    0.352
##    .CS_AVG            0.232    0.030    7.630    0.000    0.167    0.287
##    Std.lv  Std.all
##     0.277    0.440
##     0.232    0.594
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect          0.310    0.075    4.115    0.000    0.173    0.468
##     total             0.368    0.071    5.172    0.000    0.227    0.506
##    Std.lv  Std.all
##     0.310    0.409
##     0.368    0.486
## 
## 
## 2. Resilience Mediation:
## lavaan 0.6.16 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         9
## 
##                                                   Used       Total
##   Number of observations                           166         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   BRS_AVG ~                                                             
##     SS_AVG     (a)    0.106    0.041    2.563    0.010    0.025    0.189
##     sc_cd_nm (cv1)   -0.014    0.009   -1.531    0.126   -0.030    0.004
##     OC_AVG   (cv2)   -0.051    0.040   -1.267    0.205   -0.129    0.028
##   CS_AVG ~                                                              
##     SS_AVG     (c)    0.361    0.073    4.921    0.000    0.216    0.502
##     BRS_AVG    (b)   -0.065    0.113   -0.576    0.564   -0.301    0.138
##     sc_cd_nm (cv3)    0.000    0.009    0.005    0.996   -0.019    0.018
##     OC_AVG   (cv4)    0.036    0.073    0.500    0.617   -0.104    0.179
##    Std.lv  Std.all
##                   
##     0.106    0.197
##    -0.014   -0.118
##    -0.051   -0.104
##                   
##     0.361    0.477
##    -0.065   -0.046
##     0.000    0.000
##     0.036    0.053
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .BRS_AVG           0.184    0.019    9.495    0.000    0.142    0.218
##    .CS_AVG            0.288    0.039    7.299    0.000    0.203    0.357
##    Std.lv  Std.all
##     0.184    0.959
##     0.288    0.756
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect         -0.007    0.013   -0.537    0.591   -0.036    0.017
##     total             0.354    0.073    4.861    0.000    0.210    0.495
##    Std.lv  Std.all
##    -0.007   -0.009
##     0.354    0.468
## 
## 
## 3. Parallel Mediation:
## lavaan 0.6.16 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        14
## 
##                                                   Used       Total
##   Number of observations                           165         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.457
##   Degrees of freedom                                 1
##   P-value (Chi-square)                           0.499
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   PSNQ_AVG ~                                                            
##     SS_AVG    (a1)    0.653    0.063   10.314    0.000    0.528    0.776
##     sc_cd_nm (cv1)    0.005    0.009    0.578    0.563   -0.013    0.024
##     OC_AVG   (cv2)    0.088    0.060    1.462    0.144   -0.026    0.209
##   BRS_AVG ~                                                             
##     SS_AVG    (a2)    0.104    0.042    2.470    0.013    0.021    0.187
##     sc_cd_nm (cv3)   -0.013    0.009   -1.531    0.126   -0.030    0.004
##     OC_AVG   (cv4)   -0.051    0.040   -1.272    0.203   -0.126    0.031
##   CS_AVG ~                                                              
##     SS_AVG     (c)    0.064    0.097    0.658    0.510   -0.127    0.251
##     PSNQ_AVG  (b1)    0.453    0.091    4.958    0.000    0.274    0.634
##     BRS_AVG   (b2)   -0.095    0.105   -0.901    0.368   -0.316    0.096
##     sc_cd_nm (cv5)   -0.003    0.008   -0.308    0.758   -0.019    0.013
##     OC_AVG   (cv6)   -0.004    0.061   -0.064    0.949   -0.125    0.111
##    Std.lv  Std.all
##                   
##     0.653    0.688
##     0.005    0.027
##     0.088    0.103
##                   
##     0.104    0.193
##    -0.013   -0.117
##    -0.051   -0.104
##                   
##     0.064    0.084
##     0.453    0.565
##    -0.095   -0.068
##    -0.003   -0.016
##    -0.004   -0.006
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .PSNQ_AVG          0.273    0.040    6.888    0.000    0.195    0.351
##    .BRS_AVG           0.185    0.019    9.716    0.000    0.144    0.218
##    .CS_AVG            0.233    0.030    7.800    0.000    0.168    0.284
##    Std.lv  Std.all
##     0.273    0.462
##     0.185    0.961
##     0.233    0.614
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect_nq       0.296    0.073    4.029    0.000    0.161    0.449
##     indirect_rs      -0.010    0.012   -0.816    0.415   -0.038    0.011
##     total_indirect    0.286    0.074    3.867    0.000    0.150    0.439
##     total             0.349    0.072    4.823    0.000    0.207    0.489
##    Std.lv  Std.all
##     0.296    0.388
##    -0.010   -0.013
##     0.286    0.375
##     0.349    0.459
## 
## 
## === Mediation Results for Professional Flourishing ===
## 
## 1. Network Quality Mediation:
## lavaan 0.6.16 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         9
## 
##                                                   Used       Total
##   Number of observations                           168         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   PSNQ_AVG ~                                                            
##     SS_AVG     (a)    0.679    0.065   10.429    0.000    0.554    0.807
##     sc_cd_nm (cv1)    0.004    0.009    0.387    0.699   -0.015    0.022
##     OC_AVG   (cv2)    0.086    0.062    1.386    0.166   -0.032    0.211
##   PF_AVG ~                                                              
##     SS_AVG     (c)    0.335    0.086    3.902    0.000    0.166    0.502
##     PSNQ_AVG   (b)    0.551    0.093    5.897    0.000    0.370    0.738
##     sc_cd_nm (cv3)   -0.002    0.008   -0.219    0.827   -0.017    0.014
##     OC_AVG   (cv4)    0.009    0.046    0.201    0.841   -0.088    0.095
##    Std.lv  Std.all
##                   
##     0.679    0.707
##     0.004    0.018
##     0.086    0.097
##                   
##     0.335    0.345
##     0.551    0.546
##    -0.002   -0.008
##     0.009    0.010
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .PSNQ_AVG          0.276    0.039    7.084    0.000    0.198    0.349
##    .PF_AVG            0.190    0.024    8.042    0.000    0.138    0.231
##    Std.lv  Std.all
##     0.276    0.440
##     0.190    0.298
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect          0.374    0.080    4.684    0.000    0.231    0.544
##     total             0.709    0.067   10.544    0.000    0.578    0.840
##    Std.lv  Std.all
##     0.374    0.386
##     0.709    0.731
## 
## 
## 2. Resilience Mediation:
## lavaan 0.6.16 ended normally after 1 iteration
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         9
## 
##                                                   Used       Total
##   Number of observations                           167         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.000
##   Degrees of freedom                                 0
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   BRS_AVG ~                                                             
##     SS_AVG     (a)    0.106    0.041    2.575    0.010    0.025    0.187
##     sc_cd_nm (cv1)   -0.013    0.009   -1.530    0.126   -0.030    0.004
##     OC_AVG   (cv2)   -0.051    0.040   -1.268    0.205   -0.132    0.027
##   PF_AVG ~                                                              
##     SS_AVG     (c)    0.671    0.066   10.220    0.000    0.544    0.800
##     BRS_AVG    (b)    0.240    0.082    2.914    0.004    0.079    0.404
##     sc_cd_nm (cv3)    0.003    0.009    0.367    0.714   -0.015    0.021
##     OC_AVG   (cv4)    0.067    0.053    1.254    0.210   -0.042    0.167
##    Std.lv  Std.all
##                   
##     0.106    0.197
##    -0.013   -0.117
##    -0.051   -0.105
##                   
##     0.671    0.698
##     0.240    0.134
##     0.003    0.016
##     0.067    0.076
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .BRS_AVG           0.183    0.019    9.566    0.000    0.142    0.217
##    .PF_AVG            0.258    0.036    7.220    0.000    0.184    0.325
##    Std.lv  Std.all
##     0.183    0.959
##     0.258    0.423
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect          0.025    0.014    1.869    0.062    0.004    0.057
##     total             0.696    0.065   10.691    0.000    0.572    0.825
##    Std.lv  Std.all
##     0.025    0.026
##     0.696    0.725
## 
## 
## 3. Parallel Mediation:
## lavaan 0.6.16 ended normally after 3 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        14
## 
##                                                   Used       Total
##   Number of observations                           166         230
## 
## Model Test User Model:
##                                                       
##   Test statistic                                 0.447
##   Degrees of freedom                                 1
##   P-value (Chi-square)                           0.504
## 
## Parameter Estimates:
## 
##   Standard errors                            Bootstrap
##   Number of requested bootstrap draws            10000
##   Number of successful bootstrap draws           10000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##   PSNQ_AVG ~                                                            
##     SS_AVG    (a1)    0.653    0.064   10.182    0.000    0.526    0.775
##     sc_cd_nm (cv1)    0.005    0.009    0.544    0.587   -0.013    0.024
##     OC_AVG   (cv2)    0.088    0.061    1.446    0.148   -0.028    0.212
##   BRS_AVG ~                                                             
##     SS_AVG    (a2)    0.104    0.042    2.492    0.013    0.025    0.191
##     sc_cd_nm (cv3)   -0.013    0.009   -1.497    0.134   -0.031    0.004
##     OC_AVG   (cv4)   -0.051    0.040   -1.261    0.207   -0.129    0.029
##   PF_AVG ~                                                              
##     SS_AVG     (c)    0.317    0.080    3.955    0.000    0.157    0.470
##     PSNQ_AVG  (b1)    0.525    0.092    5.721    0.000    0.353    0.711
##     BRS_AVG   (b2)    0.204    0.077    2.651    0.008    0.053    0.355
##     sc_cd_nm (cv5)    0.001    0.008    0.142    0.887   -0.014    0.016
##     OC_AVG   (cv6)    0.022    0.047    0.466    0.641   -0.077    0.107
##    Std.lv  Std.all
##                   
##     0.653    0.688
##     0.005    0.026
##     0.088    0.103
##                   
##     0.104    0.193
##    -0.013   -0.116
##    -0.051   -0.104
##                   
##     0.317    0.334
##     0.525    0.525
##     0.204    0.116
##     0.001    0.005
##     0.022    0.026
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##    .PSNQ_AVG          0.271    0.040    6.821    0.000    0.194    0.348
##    .BRS_AVG           0.184    0.019    9.550    0.000    0.143    0.219
##    .PF_AVG            0.179    0.023    7.637    0.000    0.128    0.220
##    Std.lv  Std.all
##     0.271    0.462
##     0.184    0.961
##     0.179    0.305
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|) ci.lower ci.upper
##     indirect_nq       0.343    0.075    4.580    0.000    0.211    0.505
##     indirect_rs       0.021    0.012    1.772    0.076    0.002    0.049
##     total_indirect    0.364    0.073    4.957    0.000    0.234    0.523
##     total             0.681    0.065   10.519    0.000    0.555    0.808
##    Std.lv  Std.all
##     0.343    0.361
##     0.021    0.022
##     0.364    0.384
##     0.681    0.718

To examine the mediating roles of perceived support network quality and resilience in the relationship between social support and career success outcomes, we conducted both simple mediation analyses for each mediator separately and parallel mediation analyses including both mediators simultaneously. All analyses controlled for professional discipline (measured by discipline number) and openness to collaboration, using 10,000 bootstrap samples to estimate confidence intervals.

Simple Mediation Analyses: For sense of belonging, network quality significantly mediated the relationship with social support (indirect effect = 0.207, 95% CI [0.114, 0.305], p < .001), with significant paths from social support to network quality (β = 0.707, p < .001) and from network quality to sense of belonging (β = 0.361, p < .001). In contrast, resilience showed no significant mediation (indirect effect = -0.003, 95% CI [-0.022, 0.014], p = .740), despite a significant path from social support to resilience (β = 0.197, p = .011). For career satisfaction, network quality demonstrated significant mediation (indirect effect = 0.310, 95% CI [0.173, 0.469], p < .001). Notably, while the direct effect of social support on career satisfaction was non-significant (β = 0.077, p = .549), network quality showed a strong relationship with career satisfaction (β = 0.579, p < .001). The resilience pathway showed no significant mediation (indirect effect = -0.007, 95% CI [-0.036, 0.016], p = .595). For professional flourishing, both mediators showed meaningful effects. Network quality demonstrated strong mediation (indirect effect = 0.374, 95% CI [0.229, 0.543], p < .001), with significant paths from social support to network quality (β = 0.707, p < .001) and from network quality to professional flourishing (β = 0.546, p < .001). Resilience showed a smaller but notable mediating effect (indirect effect = 0.025, 95% CI [0.004, 0.058], p = .065), with significant paths both from social support to resilience (β = 0.197, p = .010) and from resilience to professional flourishing (β = 0.134, p = .003).

Parallel Mediation Analyses: When testing both mediators simultaneously, network quality emerged as the dominant mediating mechanism across all outcomes. For sense of belonging, network quality maintained significant mediation (indirect effect = 0.208, 95% CI [0.117, 0.308], p < .001) while resilience remained non-significant (indirect effect = -0.005, 95% CI [-0.023, 0.010], p = .544). Similarly, for career satisfaction, only network quality showed significant mediation (indirect effect = 0.296, 95% CI [0.163, 0.451], p < .001). For professional flourishing, network quality demonstrated strong mediation (indirect effect = 0.343, 95% CI [0.213, 0.505], p < .001), with resilience showing a marginal effect (indirect effect = 0.021, 95% CI [0.002, 0.050], p = .082). These findings consistently demonstrate that social support primarily enhances career success outcomes through strengthening the quality of one’s professional network rather than through building personal resilience. The parallel mediation models showed good fit across all outcomes (χ²(1) = 0.447-0.457, p > .499), supporting the robustness of these findings.