##
## 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
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.1 ✔ readr 2.2.0
## ✔ ggplot2 4.0.1 ✔ stringr 1.6.0
## ✔ lubridate 1.9.4 ✔ tibble 3.3.0
## ✔ purrr 1.2.0 ✔ tidyr 1.3.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
## corrplot 0.95 loaded
##
##
## Attaching package: 'psych'
##
##
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
##
##
##
## Attaching package: 'GPArotation'
##
##
## The following objects are masked from 'package:psych':
##
## equamax, varimin
In order challenges are: Managerial competence, technical capabilities, manpower, hiring/ retaining certified operators, paying for operations and maintenance, financing infrastructure, high water quality, complying with regulations, communications with customers
Correlation of: .3-.49= moderate to low, .5-.69= moderate, .7-.89= strong, .9-1= very strong
In order benefits are: Managerial competence, technical capabilities,
manpower, hiring/ maintain operators, efficiencies in admin costs,
access to financial resources, water supply availability, ability to
respond to unexpected events
Using complete observations only, all correlations are significant
Using complete observations only, all correlations are significant
Overall MSA .86 = “meritorious” suited for factor analysis
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = chal_only)
## Overall MSA = 0.86
## MSA for each item =
## HRChallenge_Managerial_Competence HRChallenge_Technical_Capabilities
## 0.85 0.85
## HRChallenge_Manpower HRChallenge_Hiring
## 0.85 0.86
## Challenge_Ops_Maintenance Challenge_Financing_Infrastructure
## 0.84 0.83
## Challenge_Water_Quality Challenge_Regulations
## 0.88 0.90
## Challenge_Customer
## 0.94
Overall MSA for benefits is .92 “marvelous” well suited for factor analysis
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = ben_only)
## Overall MSA = 0.92
## MSA for each item =
## HR_Partnership_Aid_Managerial HR_Partnership_Aid_Technical
## 0.91 0.90
## HR_Partnership_Aid_Manpower HR_Partnership_Aid_Hiring
## 0.90 0.92
## FT_Partnership_Aid_Admin_Costs FT_Partnership_Aid_Financial_Resources
## 0.92 0.92
## FT_Partnership_Aid_Water_Supply FT_Partnership_Aid_Unexpected
## 0.92 0.93
## FT_Partnership_Aid_Customer
## 0.93
More conservative estimate “non-graphical solution to scree test,” which suggests 2 factors
## Parallel analysis suggests that the number of factors = 4 and the number of components = NA
2 eigenvalues over 1, suggesting 2 factors
## [1] 4.58 1.09 0.86 0.62 0.57 0.42 0.32 0.30 0.24
#Factor analysis interp notes
RMSR <.1, ideally <.05
Cumulative variance >60%
Primary loading > .5
Cross loading -I’ve seen thresholds of .32 and .4 as the cutoff for too high
Oblimin rotation: factors are likely correlated. I do consider these factors to be correlated in reality
## Factor Analysis using method = pa
## Call: fa(r = cor_chal, nfactors = 2, rotate = "oblimin", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA2 h2 u2 com
## HRChallenge_Managerial_Competence 0.80 -0.03 0.61 0.39 1.0
## HRChallenge_Technical_Capabilities 0.82 0.01 0.68 0.32 1.0
## HRChallenge_Manpower 0.80 0.01 0.65 0.35 1.0
## HRChallenge_Hiring 0.66 0.04 0.48 0.52 1.0
## Challenge_Ops_Maintenance -0.05 0.80 0.59 0.41 1.0
## Challenge_Financing_Infrastructure -0.03 0.73 0.51 0.49 1.0
## Challenge_Water_Quality 0.04 0.67 0.49 0.51 1.0
## Challenge_Regulations 0.11 0.59 0.45 0.55 1.1
## Challenge_Customer 0.21 0.40 0.32 0.68 1.5
##
## PA1 PA2
## SS loadings 2.55 2.23
## Proportion Var 0.28 0.25
## Cumulative Var 0.28 0.53
## Proportion Explained 0.53 0.47
## Cumulative Proportion 0.53 1.00
##
## With factor correlations of
## PA1 PA2
## PA1 1.0 0.7
## PA2 0.7 1.0
##
## Mean item complexity = 1.1
## Test of the hypothesis that 2 factors are sufficient.
##
## df null model = 36 with the objective function = 4.2
## df of the model are 19 and the objective function was 0.46
##
## The root mean square of the residuals (RMSR) is 0.04
## The df corrected root mean square of the residuals is 0.05
##
## Fit based upon off diagonal values = 0.99
## Measures of factor score adequacy
## PA1 PA2
## Correlation of (regression) scores with factors 0.81 0.78
## Multiple R square of scores with factors 0.65 0.61
## Minimum correlation of possible factor scores 0.31 0.23
First I drop customer communication because in the output above it has a low primary loading, and high u^2 (uniqueness not explained by the factor).
The result looks okay, slightly low explained cumulative variance (.56), but good RMSR (.04). Loadings look good.
## Factor Analysis using method = pa
## Call: fa(r = cor_chal_revised, nfactors = 2, rotate = "oblimin", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA2 h2 u2 com
## HRChallenge_Managerial_Competence 0.82 -0.05 0.62 0.38 1.0
## HRChallenge_Technical_Capabilities 0.84 0.00 0.70 0.30 1.0
## HRChallenge_Manpower 0.76 0.05 0.63 0.37 1.0
## HRChallenge_Hiring 0.64 0.07 0.47 0.53 1.0
## Challenge_Ops_Maintenance -0.04 0.85 0.68 0.32 1.0
## Challenge_Financing_Infrastructure -0.01 0.76 0.57 0.43 1.0
## Challenge_Water_Quality 0.16 0.53 0.42 0.58 1.2
## Challenge_Regulations 0.21 0.48 0.40 0.60 1.4
##
## PA1 PA2
## SS loadings 2.55 1.94
## Proportion Var 0.32 0.24
## Cumulative Var 0.32 0.56
## Proportion Explained 0.57 0.43
## Cumulative Proportion 0.57 1.00
##
## With factor correlations of
## PA1 PA2
## PA1 1.00 0.65
## PA2 0.65 1.00
##
## Mean item complexity = 1.1
## Test of the hypothesis that 2 factors are sufficient.
##
## df null model = 28 with the objective function = 3.9
## df of the model are 13 and the objective function was 0.38
##
## The root mean square of the residuals (RMSR) is 0.04
## The df corrected root mean square of the residuals is 0.06
##
## Fit based upon off diagonal values = 0.99
## Measures of factor score adequacy
## PA1 PA2
## Correlation of (regression) scores with factors 0.83 0.81
## Multiple R square of scores with factors 0.69 0.65
## Minimum correlation of possible factor scores 0.38 0.30
#Drop regulation
Trying dropping regulation, but then water quality doesn’t load
## Factor Analysis using method = pa
## Call: fa(r = cor_chal_revised_reg_dropped, nfactors = 2, rotate = "oblimin",
## fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA2 h2 u2 com
## HRChallenge_Managerial_Competence 0.83 -0.07 0.63 0.37 1.0
## HRChallenge_Technical_Capabilities 0.84 -0.01 0.70 0.30 1.0
## HRChallenge_Manpower 0.75 0.07 0.64 0.36 1.0
## HRChallenge_Hiring 0.63 0.09 0.47 0.53 1.0
## Challenge_Ops_Maintenance 0.00 0.85 0.72 0.28 1.0
## Challenge_Financing_Infrastructure 0.00 0.81 0.65 0.35 1.0
## Challenge_Water_Quality 0.25 0.39 0.34 0.66 1.7
##
## PA1 PA2
## SS loadings 2.51 1.62
## Proportion Var 0.36 0.23
## Cumulative Var 0.36 0.59
## Proportion Explained 0.61 0.39
## Cumulative Proportion 0.61 1.00
##
## With factor correlations of
## PA1 PA2
## PA1 1.00 0.61
## PA2 0.61 1.00
##
## Mean item complexity = 1.1
## Test of the hypothesis that 2 factors are sufficient.
##
## df null model = 21 with the objective function = 3.3
## df of the model are 8 and the objective function was 0.24
##
## The root mean square of the residuals (RMSR) is 0.03
## The df corrected root mean square of the residuals is 0.05
##
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## PA1 PA2
## Correlation of (regression) scores with factors 0.85 0.82
## Multiple R square of scores with factors 0.72 0.67
## Minimum correlation of possible factor scores 0.44 0.35
Trying out three factors, customer communication still it’s own thing which would leave only two variables for factor 3 which is not ideal. Not the right fit.
## Factor Analysis using method = pa
## Call: fa(r = cor_chal, nfactors = 3, rotate = "oblimin", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA2 PA3 h2 u2 com
## HRChallenge_Managerial_Competence 0.74 -0.14 0.21 0.63 0.37 1.2
## HRChallenge_Technical_Capabilities 0.76 -0.05 0.17 0.67 0.33 1.1
## HRChallenge_Manpower 0.83 0.15 -0.14 0.72 0.28 1.1
## HRChallenge_Hiring 0.68 0.15 -0.11 0.52 0.48 1.2
## Challenge_Ops_Maintenance 0.03 0.77 0.10 0.70 0.30 1.0
## Challenge_Financing_Infrastructure 0.04 0.74 0.05 0.63 0.37 1.0
## Challenge_Water_Quality 0.03 0.20 0.66 0.62 0.38 1.2
## Challenge_Regulations 0.13 0.18 0.53 0.51 0.49 1.4
## Challenge_Customer 0.22 0.09 0.40 0.36 0.64 1.7
##
## PA1 PA2 PA3
## SS loadings 2.57 1.53 1.27
## Proportion Var 0.29 0.17 0.14
## Cumulative Var 0.29 0.45 0.60
## Proportion Explained 0.48 0.29 0.24
## Cumulative Proportion 0.48 0.76 1.00
##
## With factor correlations of
## PA1 PA2 PA3
## PA1 1.00 0.54 0.49
## PA2 0.54 1.00 0.45
## PA3 0.49 0.45 1.00
##
## Mean item complexity = 1.2
## Test of the hypothesis that 3 factors are sufficient.
##
## df null model = 36 with the objective function = 4.2
## df of the model are 12 and the objective function was 0.2
##
## The root mean square of the residuals (RMSR) is 0.02
## The df corrected root mean square of the residuals is 0.04
##
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## PA1 PA2 PA3
## Correlation of (regression) scores with factors 0.82 0.76 0.71
## Multiple R square of scores with factors 0.67 0.57 0.50
## Minimum correlation of possible factor scores 0.34 0.15 0.00
More conservative estimate says 1 factor
## Parallel analysis suggests that the number of factors = 3 and the number of components = NA
1 eigenvalue above 1
## [1] 5.62 0.94 0.53 0.47 0.41 0.34 0.27 0.23 0.20
## Factor Analysis using method = pa
## Call: fa(r = cor_ben, nfactors = 1, rotate = "oblimin", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 h2 u2 com
## HR_Partnership_Aid_Managerial 0.78 0.60 0.40 1
## HR_Partnership_Aid_Technical 0.82 0.68 0.32 1
## HR_Partnership_Aid_Manpower 0.81 0.66 0.34 1
## HR_Partnership_Aid_Hiring 0.76 0.57 0.43 1
## FT_Partnership_Aid_Admin_Costs 0.80 0.63 0.37 1
## FT_Partnership_Aid_Financial_Resources 0.73 0.53 0.47 1
## FT_Partnership_Aid_Water_Supply 0.59 0.35 0.65 1
## FT_Partnership_Aid_Unexpected 0.81 0.66 0.34 1
## FT_Partnership_Aid_Customer 0.73 0.53 0.47 1
##
## PA1
## SS loadings 5.21
## Proportion Var 0.58
##
## Mean item complexity = 1
## Test of the hypothesis that 1 factor is sufficient.
##
## df null model = 36 with the objective function = 6.1
## df of the model are 27 and the objective function was 0.78
##
## The root mean square of the residuals (RMSR) is 0.05
## The df corrected root mean square of the residuals is 0.06
##
## Fit based upon off diagonal values = 0.99
## Measures of factor score adequacy
## PA1
## Correlation of (regression) scores with factors 0.96
## Multiple R square of scores with factors 0.93
## Minimum correlation of possible factor scores 0.86
Just to try it out, does improve the RMSR and the explained proportion of variance, not by a ton. Think about leaving it out?
## Factor Analysis using method = pa
## Call: fa(r = cor_ben_revised_no_supply, nfactors = 1, rotate = "oblimin",
## fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 h2 u2 com
## HR_Partnership_Aid_Managerial 0.79 0.63 0.37 1
## HR_Partnership_Aid_Technical 0.84 0.71 0.29 1
## HR_Partnership_Aid_Manpower 0.82 0.68 0.32 1
## HR_Partnership_Aid_Hiring 0.77 0.59 0.41 1
## FT_Partnership_Aid_Admin_Costs 0.79 0.62 0.38 1
## FT_Partnership_Aid_Financial_Resources 0.71 0.51 0.49 1
## FT_Partnership_Aid_Unexpected 0.79 0.63 0.37 1
## FT_Partnership_Aid_Customer 0.70 0.50 0.50 1
##
## PA1
## SS loadings 4.86
## Proportion Var 0.61
##
## Mean item complexity = 1
## Test of the hypothesis that 1 factor is sufficient.
##
## df null model = 28 with the objective function = 5.6
## df of the model are 20 and the objective function was 0.6
##
## The root mean square of the residuals (RMSR) is 0.04
## The df corrected root mean square of the residuals is 0.05
##
## Fit based upon off diagonal values = 0.99
## Measures of factor score adequacy
## PA1
## Correlation of (regression) scores with factors 0.96
## Multiple R square of scores with factors 0.93
## Minimum correlation of possible factor scores 0.86