Introduction

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