Overview

This document reproduces the data analysis outlined in Blaauw et.al 2013 paper title “Comparing the job satisfaction and intention to leave of different categories of health workers in Tanzania, Malawi and South Africa”.

Pre processing the data

## Loading required package: timeDate
## Loading required package: timeSeries
## 
## Rmetrics Package fBasics
## Analysing Markets and calculating Basic Statistics
## Copyright (C) 2005-2014 Rmetrics Association Zurich
## Educational Software for Financial Engineering and Computational Science
## Rmetrics is free software and comes with ABSOLUTELY NO WARRANTY.
## https://www.rmetrics.org --- Mail to: info@rmetrics.org
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:plyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise,
##     summarize
## The following objects are masked from 'package:timeSeries':
## 
##     filter, lag
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## 
## Attaching package: 'lubridate'
## The following object is masked from 'package:plyr':
## 
##     here
#read healthcare provider data 
hcp <- read.csv(paste(getwd(),"/healthcareprovider.csv", sep = ""), header= TRUE, skip = 2, 
                na.strings = ".")

#set up a dataframe for demographics 
demo_hcp <- NULL

#regroup redefine relevant demographics 
#work experience
demo_hcp$wexp[hcp$hcp_job_lenght <= 36] = "1" #0-3years
demo_hcp$wexp[hcp$hcp_job_lenght > 36 & hcp$hcp_job_lenght <= 60] = "2" #3+ to 5years
demo_hcp$wexp[hcp$hcp_job_lenght > 60 & hcp$hcp_job_lenght <= 120] = "3" #5+ to 10years
demo_hcp$wexp[hcp$hcp_job_lenght > 120 & hcp$hcp_job_lenght <= 180] = "4" #10+ to 15years
demo_hcp$wexp[hcp$hcp_job_lenght > 180] = "5" #15+years
demo_hcp$wexp <- factor(demo_hcp$wexp, labels = c("<= 3years", "3+ to 5years", "5+ to 10years",
                                                 "10+ to 15years", "15+years"))
#age 
demo_hcp$age[hcp$hcp_age <= 30] = "1"
demo_hcp$age[hcp$hcp_age > 30 & hcp$hcp_age <= 39] = "2"
demo_hcp$age[hcp$hcp_age >= 40] = "3"
demo_hcp$age[is.na(hcp$hcp_age) == T] = NA
demo_hcp$age <- factor(demo_hcp$age, labels = c("<= 30years", "30-39years", ">=40years"))

#gender
#Female "1" and Male "2
demo_hcp$gender = as.numeric(hcp$hcp_sex)
demo_hcp$gender <- factor(demo_hcp$gender, labels = c("Female", "Male"))

#Professional rank
#1 Community Health worker (CHEW), 2 - Other
demo_hcp$prof[hcp$hcp_jobtitle == "Community health extension worker"] = "1"
demo_hcp$prof[hcp$hcp_jobtitle != "Community health extension worker"] = "2"
demo_hcp$prof <- factor(demo_hcp$prof, labels = c("CHEW", "Other"))

#education
#Secondary "1" and tertiary "2"
demo_hcp$educ[hcp$hcp_educ == "Secondary school"] = "1"
demo_hcp$educ[hcp$hcp_educ != "Secondary school"] = "2"
demo_hcp$educ <- factor(demo_hcp$educ, labels = c("Secondary", "Tertiary"))

#distance from work in hours 
wkdist <- hm(hcp$work_distant)
demo_hcp$wkdist[wkdist <= hm("1:00")] = "1"
demo_hcp$wkdist[wkdist > hm("1:00")] = "2"
demo_hcp$wkdist <- factor(demo_hcp$wkdist, labels = c("<= 1hour", "> 1hour"))

demo_hcp <- data.frame(demo_hcp)
rm(wkdist)

Summary statistics of the demographic variables

prop.table(table(demo_hcp$wexp))*100
## 
##      <= 3years   3+ to 5years  5+ to 10years 10+ to 15years       15+years 
##       19.33333       18.66667       32.66667       19.33333       10.00000
prop.table(table(demo_hcp$age))*100
## 
## <= 30years 30-39years  >=40years 
##   40.00000   37.33333   22.66667
prop.table(table(demo_hcp$gender))*100
## 
##   Female     Male 
## 88.66667 11.33333
prop.table(table(demo_hcp$prof))*100
## 
##     CHEW    Other 
## 60.66667 39.33333
prop.table(table(demo_hcp$educ))*100
## 
## Secondary  Tertiary 
##         2        98
prop.table(table(demo_hcp$wkdist))*100
## 
## <= 1hour  > 1hour 
##       96        4
#create a boxplot of demographic variables 
par(mfrow = c(2,3), mar=c(4,2,2,2))
boxplot(as.numeric(demo_hcp$age), xlab = "Age", main = "1: <=30yrs, 2: 30+_39yrs, 3: 39+yrs")
boxplot(as.numeric(demo_hcp$wexp), xlab = "Work Experience", 
        main="1: <=3yrs, 2: 3+_5yrs, 3: 5+_10yrs, 4: 10+_15yrs 5: 15+yrs")
boxplot(as.numeric(demo_hcp$gender), xlab = "Gender", main = "1: Female and 2: Male")
boxplot(as.numeric(demo_hcp$pr), xlab = "Professional rank", main = "1: CHEW and 2:Other")
boxplot(as.numeric(demo_hcp$educ), xlab = "Education", main = "1: Seconday and 2: Tertiary")
boxplot(as.numeric(demo_hcp$wkdist), xlab = "Work distance", 
        main="1: <=1hr and 2: >1hrs")

dev.off()
## null device 
##           1
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied
## The following `from` values were not present in `x`: Very dissatisfied

Summary statistics of Job Satisfaction variables

jbs_sum = NULL
for (n in 1:length(jbs_hcp)) {
jbs_sum <- rbind(jbs_sum, prop.table(table(jbs_hcp[,n]))*100)}
row.names(jbs_sum) = make.names(colnames(jbs_hcp))
jbs_sum
##                         Dissatisfied   Neutral  Satisfied
## job_satisfatn              8.0000000 14.000000 78.0000000
## salary_level              32.6666667 21.333333 46.0000000
## allowances                47.3333333 15.333333 37.3333333
## coverage_level            39.3333333 21.333333 39.3333333
## skills_salary             46.0000000 16.000000 38.0000000
## salary_work_vol           48.6486486 14.189189 37.1621622
## meds_available            12.6666667 17.333333 70.0000000
## consumables               12.0000000 12.000000 76.0000000
## protectn_gear             22.6666667 18.000000 59.3333333
## printed_materials         11.4093960 10.067114 78.5234899
## workin_hrs                 6.0000000 10.666667 83.3333333
## quant_of_work             16.0000000 18.666667 65.3333333
## work_allocatn             15.3333333 17.333333 67.3333333
## div_workin_hrs            10.0000000 15.333333 74.6666667
## support_provided           4.0000000  8.000000 88.0000000
## duties_variety             3.3333333 10.666667 86.0000000
## duties_skills              4.6666667  8.666667 86.6666667
## prof_respon                4.6666667  6.000000 89.3333333
## harmony_anc_team           1.3333333  5.333333 93.3333333
## recognitn_colleague        4.6666667 95.333333  0.0000000
## recognitn_bosses           2.0000000  2.666667 95.3333333
## respect_bosses             2.0000000  3.333333 94.6666667
## trainin_recvd             16.0000000  6.666667 77.3333333
## anc_selectn_4trainin      14.0000000 10.666667 75.3333333
## trainin_recvd_needs       18.6666667 11.333333 70.0000000
## applyin_knw_recvd         16.6666667  8.666667 74.6666667
## skills_acquired           14.6666667  8.000000 77.3333333
## promotn_opport             7.3825503  8.053691 84.5637584
## anc_pnc_pmtct_outcome      2.6666667  8.666667 88.6666667
## work_quality               2.0000000  2.000000 96.0000000
## prof_popular_image         0.6666667 98.666667  0.6666667
## payment_regularity        24.6666667 18.666667 56.6666667
## job_stability              7.3333333 16.000000 76.6666667
## allowance_regularity      38.6666667 22.666667 38.6666667
## workplace_reinforcement   12.0000000 21.333333 66.6666667
## decisn_makin              11.3333333 22.000000 66.6666667
## perf_info_anc              3.3333333 10.666667 86.0000000
## employment_status          7.3333333  9.333333 83.3333333

I applied PCA to reduce job satisfaction (jbs) variables surveyed to a number of components that accounts for at least 80% (?) of the variance

pca_jbs <- princomp(test_jbs)

Results from Principal Component Analysis (PCA) on Job satisfaction variables

Variables with loadings coefficients greater than +/-0.3 are used to identify/label PCA components

#check correlations of jbs factors 
jbs_corr <- cor(test_jbs)
#write.csv(jbs_corr, "JBS_corr.csv")

#to select number of factors 
screeplot(pca_jbs, type = "lines", col="red")

#summary(pca_jbs)

#check reliability of components using cronbach's alpha correlation 
#0-independent/zero correlation and 1-entirely correlated 
ca_jbs <- cronbach(pca_jbs$scores)
ca_jbs$alpha
## [1] -2.280458e-16
#check correlations of pca components
pca_corr <- cor(pca_jbs$scores)

#plot loadings of all JBS PCA components
#subplot1 
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,1])

barplot(pca_jbs$loadings[,2])

barplot(pca_jbs$loadings[,3])

title(main = " 1st 3 Job Satisfaction PCA components" , outer = T)

#plot2
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,4])

barplot(pca_jbs$loadings[,5])

barplot(pca_jbs$loadings[,6])

title(main = " 2nd 3 Job Satisfaction PCA components" , outer = T)

#plot3
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,7])

barplot(pca_jbs$loadings[,8])

barplot(pca_jbs$loadings[,9])

title(main = " 3rd 3 Job Satisfaction PCA components" , outer = T)

#plot4
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,10])

barplot(pca_jbs$loadings[,11])

barplot(pca_jbs$loadings[,12])

title(main = " 4th 3 Job Satisfaction PCA components" , outer = T)

#plot5
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,13])

barplot(pca_jbs$loadings[,14])

barplot(pca_jbs$loadings[,15])

title(main = " 5th 3 Job Satisfaction PCA components" , outer = T)

#plot6
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,16])

barplot(pca_jbs$loadings[,17])

barplot(pca_jbs$loadings[,18])

title(main = " 6th 3 Job Satisfaction PCA components" , outer = T)

#plot7
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,19])

barplot(pca_jbs$loadings[,20])

barplot(pca_jbs$loadings[,21])

title(main = " 7th 3 Job Satisfaction PCA components" , outer = T)

#plot8
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,22])

barplot(pca_jbs$loadings[,23])

barplot(pca_jbs$loadings[,24])

title(main = " 8th 3 Job Satisfaction PCA components" , outer = T)

#plot9
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,25])

barplot(pca_jbs$loadings[,26])

barplot(pca_jbs$loadings[,27])

title(main = " 9th 3 Job Satisfaction PCA components" , outer = T)

#plot10
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,28])

barplot(pca_jbs$loadings[,29])

barplot(pca_jbs$loadings[,30])

title(main = " 10th 3 Job Satisfaction PCA components" , outer = T)

#plot11
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,31])

barplot(pca_jbs$loadings[,32])

barplot(pca_jbs$loadings[,33])

title(main = " 11th 3 Job Satisfaction PCA components" , outer = T)

#plot12
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,34])

barplot(pca_jbs$loadings[,35])

barplot(pca_jbs$loadings[,36])

title(main = " 12th 3 Job Satisfaction PCA components" , outer = T)

#plot13
par(mfrow = c(3,1), mar=c(2,2,2,4), oma=c(2,2,2,0))

barplot(pca_jbs$loadings[,37])

barplot(pca_jbs$loadings[,38])

title(main = " 13th 3 Job Satisfaction PCA components" , outer = T)

dev.off()
## null device 
##           1

Then I wanted to investigate predictors of overall job satisfacton

#resize jbs dataset dimensions to dimensions before NA's were omitted
check3 <- rbind(pca_jbs$scores,rep(NA,38),rep(NA,38),rep(NA,38),rep(NA,38))
check4 <- data.frame(lapply(as.list(demo_hcp),as.numeric))

#The 1st model selects components that identify with job satisfaction categories surveyed
fit_jbs <- lm(as.numeric(jbs_hcp$job_satisfatn) ~ check4$wexp + check4$age + check4$gender +
              + check4$prof + check4$educ + check4$wkdist + check3[,c(1:2,4:6,9,36,38)])

#The 2nd model selects components that identify with job satisfaction categories surveyed
fit2_jbs <- lm(as.numeric(jbs_hcp$job_satisfatn) ~ check4$wexp + check4$age + check4$gender +
              + check4$prof + check4$educ + check4$wkdist + check3[,1]) 

#The 3rd model selects components that identify with job satisfaction categories surveyed
fit3_jbs <- lm(as.numeric(jbs_hcp$job_satisfatn) ~ check4$wexp + check4$age + check4$gender +
              + check4$prof + check4$educ + check4$wkdist + check3[,c(1:2)]) 

#The 4th model selects the first 9 components based on the scree test
fit4_jbs <- lm(as.numeric(jbs_hcp$job_satisfatn) ~ check4$wexp + check4$age + check4$gender +
              + check4$prof + check4$educ + check4$wkdist + check3[,c(1:9)]) 

#the 5th model selects the first 13 components based on a 85% cummulative proportion of variance 
fit5_jbs <- lm(as.numeric(jbs_hcp$job_satisfatn) ~ check4$wexp + check4$age + check4$gender +
              + check4$prof + check4$educ + check4$wkdist + check3[,c(1:13)])

f1 <- summary(fit_jbs)
f1$r.squared
## [1] 0.09883801
f2 <- summary(fit2_jbs)
f2$r.squared
## [1] 0.0705354
f3 <- summary(fit3_jbs)
f3$r.squared
## [1] 0.07261697
f4 <- summary(fit4_jbs)
f4$r.squared
## [1] 0.1804994
f5 <- summary(fit5_jbs)
f5$r.squared
## [1] 0.1994728

The last model is the best fit with the largest Rsquared 0.1994728.

Moving on to Intention to Leave:

Below is a logistic regression of intent to leave with 6 demographic predictors and jbs components

#INTENT TO LEAVE SECTION 
#subset Intent to leave (I2l) variables 
I2l_hcp <- data.frame(cbind(as.character(hcp$leavin_curr_work), as.character(hcp$leaving_niaja)))
names(I2l_hcp) <- make.names(c("Leave work", "Leave Nigeria"))

#remap values for intention to leave work and intention to leave nigeria 
#NO - 1 and Yes - 2
I2l_hcp$Leave.work <- mapvalues(I2l_hcp$Leave.work, 
                                from = c("Very often", "Fairly", "Often", "Occasionally",
                                         "Rarely", "Almost never", "Never"), 
                                to = c("2","2","2","2","1","1","1"))

I2l_hcp$Leave.Nigeria <- mapvalues(I2l_hcp$Leave.Nigeria, 
                                   from = c("Very often", "Fairly", "Often", "Occasionally",
                                            "Rarely", "Almost never", "Never"), 
                                   to = c("2","2","2","2","1","1","1"))

test_i2l <- na.omit(I2l_hcp)

I2l_hcp <- lapply(as.list(I2l_hcp), factor, levels = c("1", "2") ,labels = c("No", "Yes"))
I2l_hcp <- data.frame(I2l_hcp)

summary statistics on intention to leave

I2l_sum = NULL
for (n in 1:length(I2l_hcp)) {
I2l_sum <- rbind(I2l_sum, prop.table(table(I2l_hcp[,n]))*100)}
row.names(I2l_sum) = make.names(colnames(I2l_hcp))
I2l_sum
##                     No      Yes
## Leave.work    30.66667 69.33333
## Leave.Nigeria 34.00000 66.00000
#boxplots
par(mfrow = c(1,2), mar = c(2,2,4,2))
boxplot(as.numeric(test_i2l$Leave.work), main="Leave Work 1: No and 2: Yes")
boxplot(as.numeric(test_i2l$Leave.Nigeria), main="Leave Nigeria 1: No and 2: Yes")

dev.off()
## null device 
##           1

logistic regression with intent to leave to investigate predictors

##regress intent to leave work by demogrpahic variables and overall job satisfaction
check5 <-  as.matrix(rbind(test_jbs,rep(NA,38),rep(NA,38),rep(NA,38),rep(NA,38)))
fit_I2l <- glm(as.numeric(test_i2l$Leave.work)-1 ~ check4$age + check4$wexp + check4$gender + check4$prof + check4$educ + check4$wkdist + check5[,1], family = binomial)
summary(fit_I2l)
## 
## Call:
## glm(formula = as.numeric(test_i2l$Leave.work) - 1 ~ check4$age + 
##     check4$wexp + check4$gender + check4$prof + check4$educ + 
##     check4$wkdist + check5[, 1], family = binomial)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.9930  -1.3376   0.7440   0.8732   1.3861  
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)  
## (Intercept)   -1.99597    2.93864  -0.679   0.4970  
## check4$age    -0.28381    0.29083  -0.976   0.3291  
## check4$wexp   -0.09176    0.17823  -0.515   0.6067  
## check4$gender  0.74384    0.64854   1.147   0.2514  
## check4$prof    0.21770    0.39782   0.547   0.5842  
## check4$educ    1.84261    1.28005   1.439   0.1500  
## check4$wkdist -1.83913    0.90974  -2.022   0.0432 *
## check5[, 1]    0.26626    0.30029   0.887   0.3753  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 181.94  on 145  degrees of freedom
## Residual deviance: 173.43  on 138  degrees of freedom
##   (4 observations deleted due to missingness)
## AIC: 189.43
## 
## Number of Fisher Scoring iterations: 4
##regress intent to leave work by demogrpahic variables and uncorrelated job satisfaction factors 
fit2_I2l <- glm(as.numeric(test_i2l$Leave.work)-1 ~ check4$age + check4$wexp + check4$gender + check4$prof + check4$educ + check4$wkdist + check5[,c(1:2,7,9:11,15,18:24,28:31,38)], family = binomial)
summary(fit2_I2l)
## 
## Call:
## glm(formula = as.numeric(test_i2l$Leave.work) - 1 ~ check4$age + 
##     check4$wexp + check4$gender + check4$prof + check4$educ + 
##     check4$wkdist + check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 
##     38)], family = binomial)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.8956  -0.9293   0.5352   0.8332   2.4996  
## 
## Coefficients:
##                                                                       Estimate
## (Intercept)                                                          -7.722839
## check4$age                                                           -0.122410
## check4$wexp                                                          -0.173120
## check4$gender                                                         2.509004
## check4$prof                                                           0.033960
## check4$educ                                                           1.022600
## check4$wkdist                                                        -1.662107
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn          0.787298
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level          -0.517419
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available         0.016833
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear         -0.034357
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials      0.214182
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs            -0.345347
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided      -0.004555
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon           -0.617132
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team      -1.510849
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague    4.660266
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses       0.904276
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses        -0.226048
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd          0.299771
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin  -0.272089
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport         0.329260
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome -0.558378
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality           0.378480
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image     0.225058
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status     -0.072078
##                                                                      Std. Error
## (Intercept)                                                            7.322036
## check4$age                                                             0.338997
## check4$wexp                                                            0.209060
## check4$gender                                                          1.295906
## check4$prof                                                            0.476183
## check4$educ                                                            1.653941
## check4$wkdist                                                          1.046297
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn           0.476974
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level            0.282813
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available          0.413937
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear           0.302046
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials       0.423177
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs              0.499849
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided        0.617342
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon             0.667898
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team        1.061888
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague     1.934999
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses        0.816853
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses          0.974034
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd           0.702360
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin    0.735072
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport          0.433201
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome   0.734509
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality            0.962357
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image      1.954724
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status       0.452040
##                                                                      z value
## (Intercept)                                                           -1.055
## check4$age                                                            -0.361
## check4$wexp                                                           -0.828
## check4$gender                                                          1.936
## check4$prof                                                            0.071
## check4$educ                                                            0.618
## check4$wkdist                                                         -1.589
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn           1.651
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level           -1.830
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available          0.041
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear          -0.114
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials       0.506
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs             -0.691
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided       -0.007
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon            -0.924
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team       -1.423
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague     2.408
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses        1.107
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses         -0.232
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd           0.427
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin   -0.370
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport          0.760
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome  -0.760
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality            0.393
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image      0.115
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status      -0.159
##                                                                      Pr(>|z|)
## (Intercept)                                                            0.2915
## check4$age                                                             0.7180
## check4$wexp                                                            0.4076
## check4$gender                                                          0.0529
## check4$prof                                                            0.9431
## check4$educ                                                            0.5364
## check4$wkdist                                                          0.1122
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn           0.0988
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level            0.0673
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available          0.9676
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear           0.9094
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials       0.6128
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs              0.4896
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided        0.9941
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon             0.3555
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team        0.1548
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague     0.0160
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses        0.2683
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses          0.8165
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd           0.6695
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin    0.7113
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport          0.4472
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome   0.4471
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality            0.6941
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image      0.9083
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status       0.8733
##                                                                       
## (Intercept)                                                           
## check4$age                                                            
## check4$wexp                                                           
## check4$gender                                                        .
## check4$prof                                                           
## check4$educ                                                           
## check4$wkdist                                                         
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn         .
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level          .
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available         
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear          
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials      
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs             
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided       
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon            
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team       
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague   *
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses       
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses         
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd          
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin   
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport         
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome  
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality           
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image     
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 181.94  on 145  degrees of freedom
## Residual deviance: 151.77  on 120  degrees of freedom
##   (4 observations deleted due to missingness)
## AIC: 203.77
## 
## Number of Fisher Scoring iterations: 5
##regress intent to leave Nigeria by demogrpahic variables and overall job satisfaction
fit3_I2l <- glm(as.numeric(test_i2l$Leave.Nigeria)-1 ~ check4$age + check4$wexp + check4$gender + check4$prof + check4$educ + check4$wkdist + check5[,1] , family = binomial)
summary(fit3_I2l)
## 
## Call:
## glm(formula = as.numeric(test_i2l$Leave.Nigeria) - 1 ~ check4$age + 
##     check4$wexp + check4$gender + check4$prof + check4$educ + 
##     check4$wkdist + check5[, 1], family = binomial)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.6724  -1.3364   0.8586   0.9695   1.1890  
## 
## Coefficients:
##                 Estimate Std. Error z value Pr(>|z|)
## (Intercept)     30.62024 1667.64429   0.018    0.985
## check4$age      -0.14422    0.28587  -0.504    0.614
## check4$wexp     -0.12015    0.17247  -0.697    0.486
## check4$gender    0.19705    0.56801   0.347    0.729
## check4$prof      0.23809    0.38402   0.620    0.535
## check4$educ    -14.71441  833.82188  -0.018    0.986
## check4$wkdist   -0.71665    0.85163  -0.842    0.400
## check5[, 1]      0.07714    0.29144   0.265    0.791
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 188.93  on 145  degrees of freedom
## Residual deviance: 184.03  on 138  degrees of freedom
##   (4 observations deleted due to missingness)
## AIC: 200.03
## 
## Number of Fisher Scoring iterations: 14
##regress intent to leave Nigeria by demogrpahic variables and uncorrelated job satisfaction renumeration and stability factors 
fit4_I2l <- glm(as.numeric(test_i2l$Leave.Nigeria)-1 ~ check4$age + check4$wexp + check4$gender + check4$prof + check4$educ + check4$wkdist + check5[,c(1:2,7,9:11,15,18:24,28:31,38)], family = binomial)
summary(fit4_I2l)
## 
## Call:
## glm(formula = as.numeric(test_i2l$Leave.Nigeria) - 1 ~ check4$age + 
##     check4$wexp + check4$gender + check4$prof + check4$educ + 
##     check4$wkdist + check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 
##     38)], family = binomial)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.3440  -0.8593   0.5228   0.8172   2.1451  
## 
## Coefficients:
##                                                                        Estimate
## (Intercept)                                                           2.705e+01
## check4$age                                                           -4.953e-02
## check4$wexp                                                          -3.630e-01
## check4$gender                                                         7.855e-01
## check4$prof                                                           2.360e-01
## check4$educ                                                          -1.453e+01
## check4$wkdist                                                        -8.517e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn          4.873e-03
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level          -2.840e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available        -3.381e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear         -3.752e-02
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials      3.434e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs            -4.627e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided       2.012e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon           -1.514e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team      -1.283e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague    9.640e-02
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses       2.521e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses         4.814e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd          1.567e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin  -1.913e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport        -9.233e-02
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome  1.454e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality          -9.042e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image    -7.336e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status     -2.063e-02
##                                                                      Std. Error
## (Intercept)                                                           2.566e+03
## check4$age                                                            3.520e-01
## check4$wexp                                                           2.174e-01
## check4$gender                                                         8.130e-01
## check4$prof                                                           4.742e-01
## check4$educ                                                           1.283e+03
## check4$wkdist                                                         1.013e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn          5.009e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level           2.646e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available         4.204e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear          3.013e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials      4.507e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs             5.051e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided       6.329e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon            8.564e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team       9.291e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague    1.482e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses       1.117e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses         9.847e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd          9.448e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin   9.718e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport         4.885e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome  6.700e-01
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality           1.209e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image     2.525e+00
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status      4.748e-01
##                                                                      z value
## (Intercept)                                                            0.011
## check4$age                                                            -0.141
## check4$wexp                                                           -1.670
## check4$gender                                                          0.966
## check4$prof                                                            0.498
## check4$educ                                                           -0.011
## check4$wkdist                                                         -0.841
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn           0.010
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level           -1.073
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available         -0.804
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear          -0.125
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials       0.762
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs             -0.916
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided        3.180
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon            -1.768
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team       -1.381
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague     0.065
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses        2.258
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses          0.489
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd           1.658
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin   -1.969
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport         -0.189
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome   2.170
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality           -0.748
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image     -0.291
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status      -0.043
##                                                                      Pr(>|z|)
## (Intercept)                                                           0.99159
## check4$age                                                            0.88809
## check4$wexp                                                           0.09498
## check4$gender                                                         0.33396
## check4$prof                                                           0.61868
## check4$educ                                                           0.99097
## check4$wkdist                                                         0.40049
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn          0.99224
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level           0.28308
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available         0.42130
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear          0.90090
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials      0.44613
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs             0.35963
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided       0.00147
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon            0.07711
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team       0.16742
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague    0.94814
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses       0.02396
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses         0.62496
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd          0.09725
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin   0.04897
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport         0.85009
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome  0.03004
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality           0.45444
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image     0.77138
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status      0.96534
##                                                                        
## (Intercept)                                                            
## check4$age                                                             
## check4$wexp                                                          . 
## check4$gender                                                          
## check4$prof                                                            
## check4$educ                                                            
## check4$wkdist                                                          
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]job_satisfatn           
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]salary_level            
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]meds_available          
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]protectn_gear           
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]printed_materials       
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]workin_hrs              
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]support_provided      **
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_respon           . 
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]harmony_anc_team        
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_colleague     
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]recognitn_bosses      * 
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]respect_bosses          
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]trainin_recvd         . 
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_selectn_4trainin  * 
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]promotn_opport          
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]anc_pnc_pmtct_outcome * 
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]work_quality            
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]prof_popular_image      
## check5[, c(1:2, 7, 9:11, 15, 18:24, 28:31, 38)]employment_status       
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 188.93  on 145  degrees of freedom
## Residual deviance: 148.66  on 120  degrees of freedom
##   (4 observations deleted due to missingness)
## AIC: 200.66
## 
## Number of Fisher Scoring iterations: 15

For the Intent to Leave work model:

Only distance from work significantly predicts intention to leave among the demographic variables and there no association between overall job satisfaction and intent to leave

In addition, recognition by colleagues issignificantly associated with intent to leave work when uncorrelated job satisfaction factors are included in the model

For the Intent to Leave Nigeria model:

Neither distance from work and overall job satisfaction is associated with intention to leave Nigeria.

In addition, support provided by other members of the team, recognition by bosses, anc selection for training, and ouctome of ANC/PNC/PMTCT are significantly associated with intent to leave Nigeria when uncorrelated job satisfaction factors are included in the model