This scripts refers to the a survey analysis included in a doctoral thesis focuses on the study of burnout within three central government organisations in Portugal. A sociological lens and a multilevel analysis perspective were adopted to understand the causal determinants of burnout related to the idiosyncrasies of public administration, and the model of work organisation. The methodology combines structural, organisational, relational and individual analysis. A mixed methods approach was used, comprising of a triangulation between documentary analysis, a survey, and semi-structured individual interviews. This script refers to the analysis of a survey administered to 213 civil servants that was included in the thesis.
#Inspeccionar a base
base <- base[,-(2:5)] # base sem variaveis de identificacao
##################################################################################################
# Criar groups de burnout
base$gruposburnout[base$Situacao_Burnout==1] <- 1
base$gruposburnout[base$Situacao_Burnout==1] <- 1
base$gruposburnout[base$Situacao_Burnout==2] <- 1
base$gruposburnout[base$Situacao_Burnout==3] <- 2
base$gruposburnout[base$Situacao_Burnout==4] <- 3
base$gruposburnout[base$Situacao_Burnout==5] <- 4
#Recodificar genero
base$genero[base$Identif_homem==1] <- "homem"
base$genero[base$Identif_homem==1] <- "homem"
base$genero[base$Identif_mulher==1] <- "mulher"
table(base$Anos_trabalho_AP)#antiguidade
##
## 1 2 3 4 5 6 7
## 4 12 10 10 16 15 146
#Recodificar anos trabalho
table(base$Anos_trabalho_AP)
##
## 1 2 3 4 5 6 7
## 4 12 10 10 16 15 146
base$antiguidade[base$Anos_trabalho_AP==1|base$Anos_trabalho_AP==2] <- 1
base$antiguidade[base$Anos_trabalho_AP==1|base$Anos_trabalho_AP==2] <- 1
base$antiguidade[base$Anos_trabalho_AP==3|base$Anos_trabalho_AP==4]<- 2
base$antiguidade[base$Anos_trabalho_AP==5|base$Anos_trabalho_AP==6]<- 3
base$antiguidade[base$Anos_trabalho_AP==7] <- 4
table(base$Qtas_pxs_pode_contar)
##
## -99 0 1 2 3 4 5 6 7 8 9 10 11 12 15 30
## 2 6 20 33 43 34 27 10 3 2 1 6 1 1 1 1
class(base$Qtas_pxs_pode_contar)
## [1] "numeric"
base$R_suporte[base$Qtas_pxs_pode_contar==0] <- 0
base$R_suporte[base$Qtas_pxs_pode_contar==1] <- 1
base$R_suporte[base$Qtas_pxs_pode_contar==2|base$Qtas_pxs_pode_contar==3|base$Qtas_pxs_pode_contar==4]<- 2
base$R_suporte[base$Qtas_pxs_pode_contar==5|base$Qtas_pxs_pode_contar==6|base$Qtas_pxs_pode_contar==7]<- 3
base$R_suporte[base$Qtas_pxs_pode_contar>7]<- 4
base$R_suporte[base$Qtas_pxs_pode_contar==-99] <- NA
table(base$R_suporte)
##
## 0 1 2 3 4
## 6 20 110 40 13
##################################################################################################
# Estatisticas descritivas da amostra (Capitulo 6)
table(base$R_3_Ministério)
##
## 1 5 7
## 51 92 70
describe(base$R_3_Ministério)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 213 4.7 2.25 5 4.7 2.97 1 7 6 -0.71 -0.9 0.15
table(base$Distrito)
##
## 1 3 5 6 7 8 10 11 12 13 14 15 16 18
## 2 2 2 1 1 2 6 109 2 17 9 32 2 4
describe(base$Distrito)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 191 11.84 2.55 11 11.84 0 1 18 17 -0.91 3.91 0.18
table(base$Carreira_Categoria) # carreira na administracao publica
##
## 1 2 3 4
## 3 51 123 36
describe(base$Carreira_Categoria)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 213 2.9 0.68 3 2.9 0 1 4 3 -0.15 -0.19 0.05
table(base$Funcao_Chefia_Coorden)
##
## 1 2 3
## 34 19 160
prop.table(table(base$Funcao_Chefia_Coorden))*100
##
## 1 2 3
## 15.962441 8.920188 75.117371
describe(base$Funcao_Chefia_Coorden)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 213 2.59 0.75 3 2.59 0 1 3 2 -1.44 0.33 0.05
table(base$Remuneracao)
##
## 1 2 3 4 5
## 52 94 44 12 11
prop.table(table(base$Remuneracao))*100
##
## 1 2 3 4 5
## 24.413146 44.131455 20.657277 5.633803 5.164319
describe(base$Remuneracao)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 213 2.23 1.05 2 2.23 1.48 1 5 4 0.91 0.54 0.07
table(base$genero)
##
## homem mulher
## 61 125
prop.table(table(base$genero))*100
##
## homem mulher
## 32.7957 67.2043
table(base$Faixa_Etaria)
##
## -99 2 3 4 5 6 7
## 1 14 25 85 40 22 5
base$Faixa_Etaria[base$Faixa_Etaria==-99] <- NA
prop.table(table(base$Faixa_Etaria))*100
##
## 2 3 4 5 6 7
## 7.329843 13.089005 44.502618 20.942408 11.518325 2.617801
describe(base$antiguidade)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 213 3.44 0.94 4 3.64 0 1 4 3 -1.51 0.98 0.06
table(base$antiguidade)
##
## 1 2 3 4
## 16 20 31 146
prop.table(table(base$antiguidade))*100
##
## 1 2 3 4
## 7.511737 9.389671 14.553991 68.544601
describe(base$antiguidade)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 213 3.44 0.94 4 3.64 0 1 4 3 -1.51 0.98 0.06
table(base$Tempo_cuidar)
##
## 1 2 3
## 67 45 27
prop.table(table(base$Tempo_cuidar))*100
##
## 1 2 3
## 48.20144 32.37410 19.42446
describe(base$Tempo_cuidar)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 139 1.71 0.77 2 1.71 1.48 1 3 2 0.54 -1.15 0.07
tab <- round(prop.table(table(base$Tempo_cuidar, base$genero),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 45.359, df = 2, p-value = 1.414e-10
table(base$Grau_academico_formacao)
##
## 4 5 6 8 9 10 11 12 13 15
## 3 45 2 4 49 30 1 25 25 7
describe(base$Grau_academico_formacao)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 191 9.23 3.01 9 9.23 4.45 4 15 11 -0.13 -1 0.22
##################################################################################################
# Estatisticas de analise de burnout (Capitulo 8)
table(base$Situacao_Burnout)
##
## 1 2 3 4 5
## 44 15 50 66 24
table(base$gruposburnout) # 1 and 2 merged
##
## 1 2 3 4
## 59 50 66 24
tab <- round(prop.table(table(base$gruposburnout, base$genero),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 5.2878, df = 3, p-value = 0.1519
table(base$Filhs)
##
## 1 2
## 145 46
base$Filhs[base$Filhs==2] <- 0
prop.table(table(base$Filhs))*100
##
## 0 1
## 24.08377 75.91623
tab <- round(prop.table(table(base$gruposburnout, base$Filhs),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 3.1642, df = 3, p-value = 0.367
tab <- round(prop.table(table(base$gruposburnout, base$antiguidade),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 51.087, df = 9, p-value = 6.723e-08
tab <- round(prop.table(table(base$gruposburnout, base$Faixa_Etaria),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 197.32, df = 15, p-value < 2.2e-16
tab <- round(prop.table(table(base$gruposburnout, base$Carreira_Categoria),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 161.53, df = 9, p-value < 2.2e-16
tab <- round(prop.table(table(base$gruposburnout, base$Cargo_chefia_Exerce),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 552.13, df = 12, p-value < 2.2e-16
tab <- round(prop.table(table(base$gruposburnout, base$Remuneracao),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 31.133, df = 12, p-value = 0.00188
tab <- round(prop.table(table(base$gruposburnout, base$Tempo_cuidar),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 17.095, df = 6, p-value = 0.008939
table(base$Horario_trab_adap_vidafamesocial)
##
## 1 2 3 4
## 10 72 102 29
prop.table(table(base$Horario_trab_adap_vidafamesocial))*100
##
## 1 2 3 4
## 4.694836 33.802817 47.887324 13.615023
describe(base$Horario_trab_adap_vidafamesocial)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 213 2.7 0.76 3 2.7 1.48 1 4 3 -0.1 -0.4 0.05
tab <- round(prop.table(table(base$Horario_trab_adap_vidafamesocial, base$gruposburnout),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 72.868, df = 9, p-value = 4.161e-12
tab <- round(prop.table(table(base$R_horario_trab_adaptado, base$gruposburnout),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 62.548, df = 3, p-value = 1.678e-13
##################################################################################################
# Estatisticas de determinantes de burnout (Capitulo 9)
tab <- round(prop.table(table(base$Horario_trab_adap_vidafamesocial, base$gruposburnout),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 72.868, df = 9, p-value = 4.161e-12
tab <- round(prop.table(table(base$Horario_trab_adap_vidafamesocial, base$genero),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 6.6116, df = 3, p-value = 0.08536
tab <- round(prop.table(table(base$Filhs, base$gruposburnout),1),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 3.1642, df = 3, p-value = 0.367
tab <- round(prop.table(table(base$R_suporte, base$genero),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 6.0575, df = 4, p-value = 0.1949
tab <- round(prop.table(table(base$R_suporte, base$gruposburnout),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 55.819, df = 12, p-value = 1.29e-07
tab <- round(prop.table(table(base$gruposburnout,base$R_suporte),2),3)*100
tab1 <- addmargins(tab, 1)
tab2 <- as.data.frame.matrix(tab1)
mosaicplot(tab)
chisq.test(tab)
##
## Pearson's Chi-squared test
##
## data: tab
## X-squared = 115.74, df = 12, p-value < 2.2e-16