# Analise dos dados brutos das respostas do iGG 2021

library(readxl)
library(tidyverse)
library(tidyr)
library(dplyr)
library(ggplot2)
library(reshape2)
library(ltm)
library(psych)
library(kableExtra)
library(readr)

setwd("G:/Drives compartilhados/ESTATISTICA/IGG_calculo/")

dados <- read_excel("G:/Drives compartilhados/ESTATISTICA/IGG_calculo/iGG2021_resultados.xlsx", 
                                 sheet = "iGG2021")

# notas da ufersa
dados %>% filter(resp_sigla == "UFERSA") -> results_ufersa

# funcao que extrai os pesos dos itens na composicao do agregador

extrator_de_pesos = function(pratica){
  
  # PCA
  FactoMineR::PCA(pratica, scale.unit = TRUE, graph = FALSE) -> PCA_1
  PCA_1$eig[,1] -> eigenvalues_PCA1
  #print(eigenvalues_PCA1)
  
  # if(sum(eigenvalues_PCA1 >= 1) > 1){
  #   print(eigenvalues_PCA1)
  #   print("MAIS DE UM AUTOVALOR > 1")
  #   return(NULL)
  # }
  
  
  PCA_1.res = PCA_1$var
  PCA_1.res$coord -> cargas_fatoriais
  #print(cargas_fatoriais[,1] %>% round(2))
  
  # obtendo a primeira componente:
  PCA_1$ind$coord[,1] -> pc1
  
  pratica_reg = cbind(data.frame(pc1 = pc1), pratica)
  lm(pc1 ~ ., data = pratica_reg) -> reg1
  reg1$coefficients[-1]/sum(reg1$coefficients[-1]) -> pesos
  
  
  return(pesos)
  
}
pratica_iGG = data.frame(iteniGovPub = dados$iGovPub,
                         iteniGestPessoas = dados$iGestPessoas,
                         iteniGestTI = dados$iGestTI,
                         iteniGestContrat = dados$iGestContrat,
                         iteniGestOrcament = dados$iGestOrcament)


pesosiGG = extrator_de_pesos(pratica_iGG)

# verificando se os pesos estao corretos:
matrix(c(dados$iGovPub,dados$iGestPessoas,dados$iGestTI,
         dados$iGestContrat,dados$iGestOrcament), 378,5) %*% 
  matrix(pesosiGG, 5,1) -> nota_iGG


# tabela:
pesosiGG %>% #round(6) %>%
  as.data.frame -> pesosiGG

# adicionando a nota da ufersa
pesosiGG$nota_ufersa = results_ufersa %>% 
  dplyr::select(iGovPub, iGestPessoas, 
                iGestTI, iGestContrat, iGestOrcament) %>% t %>% round(3)

cbind(pesosiGG,
      data.frame(maxiGovPub = dados$iGovPub %>% max,
                 maxiGestPessoas = dados$iGestPessoas %>% max,
                 maxiGestTI = dados$iGestTI %>% max,
                 maxiGestContrat = dados$iGestContrat %>% max,
                 maxiGestOrcament = dados$iGestOrcament %>% max) %>% t) -> 
  pesosiGG

colnames(pesosiGG) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGG, caption="Pesos da pratica iGG",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGG$Nota_Ufersa == min(pesosiGG$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGG
Pesos Notas da Ufersa Nota maxima Geral
iteniGovPub 0.245 0.434 0.991
iteniGestPessoas 0.177 0.456 1.000
iteniGestTI 0.212 0.528 0.996
iteniGestContrat 0.218 0.772 0.993
iteniGestOrcament 0.148 0.175 1.000

1 Ranking de Universidades por Quesito no iGG

1.1 iGovPub

dados %>% 
  filter(stringr::str_detect(resp_nome, 'Universidade')) ->
  so_universidades 

so_universidades %>% arrange(desc(iGovPub)) %>% 
  dplyr::select(resp_sigla, iGovPub) -> rank_iGovPub 

so_universidades %>% arrange(desc(iGestPessoas)) %>% 
  dplyr::select(resp_sigla, iGestPessoas) -> rank_iGestPessoas 

so_universidades %>% arrange(desc(iGestTI)) %>% 
  dplyr::select(resp_sigla, iGestTI) -> rank_iGestTI 

so_universidades %>% arrange(desc(iGestContrat)) %>% 
  dplyr::select(resp_sigla, iGestContrat) -> rank_iGestContrat 

so_universidades %>% arrange(desc(iGestOrcament)) %>% 
  dplyr::select(resp_sigla, iGestOrcament) -> rank_iGestOrcament 
 


kable(rank_iGovPub, digits=3, row.names = TRUE, 
      col.names = c("Universidade", "iGovPub")) %>%
  kable_styling(full_width = TRUE) %>%
  row_spec(55, bold = T, color = "white", background = "red")
Universidade iGovPub
1 UFRN 0.958
2 UNIFEI 0.953
3 UFLA 0.949
4 UFMS 0.937
5 UFV 0.923
6 FUB 0.914
7 UFPA 0.825
8 UFC 0.813
9 UFVJM 0.805
10 UNIFESP 0.804
11 UFRA 0.800
12 UFPE 0.788
13 UFOPA 0.764
14 UFG 0.747
15 UFRPE 0.747
16 UFOP 0.736
17 UFRR 0.721
18 UFOB 0.703
19 UFTM 0.695
20 UFS 0.679
21 FURG 0.677
22 UFSM 0.662
23 UFBA 0.647
24 UFSC 0.636
25 UFPR 0.629
26 UFU 0.623
27 UFFS 0.613
28 UFPB 0.610
29 UNIFAL-MG 0.603
30 UFSJ 0.597
31 UFRJ 0.596
32 UNIFESSPA 0.596
33 UTFPR 0.588
34 CHS-UFRJ 0.585
35 UFMT 0.582
36 UFCA 0.573
37 UFF 0.562
38 UFABC 0.561
39 UFES 0.560
40 UniRIO 0.551
41 Univasf 0.543
42 UFT 0.539
43 UFPI 0.520
44 UFCSPA 0.516
45 UFSCar 0.515
46 UFPel 0.511
47 UFRGS 0.507
48 UFMG 0.496
49 UFAM 0.493
50 UFGD 0.485
51 UNIFAP 0.471
52 UFAC 0.464
53 UFSB 0.437
54 UFRRJ 0.436
55 UFERSA 0.434
56 UFJF 0.427
57 UNILA 0.422
58 UNIR 0.355
59 UFRB 0.354
60 UNIPAMPA 0.354
61 UFAL 0.339
62 UFMA 0.327
63 UFCG 0.313
64 UNILAB 0.277

1.2 iGestPessoas

kable(rank_iGestPessoas, digits=3, row.names = TRUE,
      col.names = c("Universidade", "iGestPessoas")) %>%
  kable_styling(full_width = TRUE) %>%
  row_spec(34, bold = T, color = "white", background = "red")
Universidade iGestPessoas
1 UFRN 1.000
2 UFLA 0.916
3 UFPA 0.910
4 UNIFEI 0.906
5 FUB 0.881
6 UFMS 0.880
7 UFRPE 0.789
8 UFBA 0.779
9 UFTM 0.776
10 UNIFAL-MG 0.758
11 UFV 0.746
12 FURG 0.737
13 UFG 0.675
14 UFU 0.661
15 UFPR 0.640
16 UFSC 0.638
17 UFRJ 0.616
18 CHS-UFRJ 0.616
19 UFRR 0.583
20 UFRA 0.558
21 UFRGS 0.558
22 UFPB 0.552
23 UFVJM 0.549
24 UNIFESP 0.526
25 UFSM 0.525
26 UFOB 0.522
27 UFC 0.518
28 UFT 0.501
29 UniRIO 0.496
30 UFPE 0.495
31 UFMT 0.479
32 UFS 0.477
33 UFMG 0.462
34 UFERSA 0.456
35 UFAL 0.444
36 UFCSPA 0.434
37 UFJF 0.429
38 UFCA 0.413
39 UFOPA 0.384
40 UFPel 0.382
41 UFOP 0.380
42 UTFPR 0.333
43 UNIR 0.327
44 UNIFAP 0.315
45 UFAC 0.313
46 UFSCar 0.301
47 UFGD 0.285
48 UFSJ 0.268
49 UFMA 0.247
50 UNIPAMPA 0.230
51 UFF 0.225
52 UNILAB 0.215
53 UNIFESSPA 0.214
54 UFRRJ 0.210
55 UFCG 0.198
56 UFABC 0.189
57 UNILA 0.177
58 UFES 0.160
59 Univasf 0.148
60 UFRB 0.147
61 UFFS 0.117
62 UFAM 0.110
63 UFPI 0.100
64 UFSB 0.068

1.3 iGestTI

kable(rank_iGestTI, digits=3, row.names = TRUE,
      col.names = c("Universidade", "iGestTI")) %>%
  kable_styling(full_width = TRUE) %>%
  row_spec(26, bold = T, color = "white", background = "red")
Universidade iGestTI
1 UFRN 0.945
2 UNIFEI 0.933
3 UFV 0.858
4 UFLA 0.858
5 UFMS 0.830
6 UFPA 0.823
7 FURG 0.712
8 UFBA 0.711
9 FUB 0.700
10 UFRGS 0.684
11 UFVJM 0.645
12 UFOPA 0.617
13 UFRR 0.617
14 UFU 0.616
15 UFRPE 0.605
16 UFTM 0.604
17 UFG 0.593
18 UFCA 0.584
19 UFPE 0.581
20 UFSC 0.576
21 UFC 0.550
22 UniRIO 0.540
23 UFF 0.535
24 UFSCar 0.531
25 UFMT 0.528
26 UFERSA 0.528
27 UFOP 0.525
28 UFPB 0.525
29 UFS 0.522
30 UFABC 0.519
31 UFRA 0.510
32 UFPR 0.507
33 UFPel 0.502
34 UFOB 0.501
35 UFMG 0.497
36 UTFPR 0.491
37 UNIFAL-MG 0.484
38 UNIFESSPA 0.470
39 UNIR 0.464
40 UFAL 0.409
41 UNILAB 0.397
42 UFPI 0.390
43 UFJF 0.376
44 UNILA 0.363
45 UFFS 0.334
46 UFT 0.330
47 UFCSPA 0.330
48 UNIFESP 0.312
49 UFMA 0.311
50 UFAM 0.295
51 UFRJ 0.295
52 CHS-UFRJ 0.295
53 UFSJ 0.285
54 UFRB 0.281
55 UFAC 0.275
56 UFSM 0.239
57 UNIPAMPA 0.233
58 Univasf 0.231
59 UFES 0.228
60 UFRRJ 0.220
61 UNIFAP 0.181
62 UFGD 0.171
63 UFSB 0.158
64 UFCG 0.151

1.4 iGestContrat

kable(rank_iGestContrat, digits=3, row.names = TRUE,
      col.names = c("Universidade", "iGestContratos")) %>%
  kable_styling(full_width = TRUE) %>%
  row_spec(14, bold = T, color = "white", background = "red")
Universidade iGestContratos
1 UFRN 0.993
2 UFV 0.958
3 UFMS 0.933
4 UFPE 0.901
5 UNIFEI 0.865
6 UNIFESP 0.835
7 UFLA 0.832
8 UFPR 0.820
9 UFBA 0.815
10 UFOPA 0.806
11 UFRPE 0.801
12 UFC 0.783
13 UFPA 0.781
14 UFERSA 0.772
15 UFES 0.737
16 UFTM 0.733
17 FUB 0.723
18 UFCSPA 0.707
19 UFRR 0.695
20 UFVJM 0.689
21 UFU 0.683
22 UFSM 0.673
23 UFCA 0.663
24 UFFS 0.658
25 UniRIO 0.619
26 UFOB 0.618
27 UTFPR 0.611
28 UFOP 0.607
29 UFS 0.600
30 UFMT 0.595
31 UFSC 0.588
32 UFSJ 0.586
33 UFRA 0.583
34 UFRGS 0.580
35 FURG 0.572
36 UFRJ 0.571
37 CHS-UFRJ 0.571
38 UFPI 0.549
39 UFJF 0.545
40 UFRB 0.532
41 UNIFAP 0.528
42 UNILA 0.514
43 UFF 0.483
44 UNIFESSPA 0.479
45 UFGD 0.475
46 UFABC 0.469
47 UNIFAL-MG 0.458
48 UFPB 0.449
49 UFT 0.430
50 UFSCar 0.419
51 UFG 0.410
52 Univasf 0.409
53 UNIPAMPA 0.407
54 UFPel 0.402
55 UFMG 0.395
56 UFMA 0.390
57 UNILAB 0.388
58 UFCG 0.366
59 UFRRJ 0.358
60 UFAM 0.340
61 UFAC 0.331
62 UFAL 0.273
63 UNIR 0.253
64 UFSB 0.224

1.5 iGestOrcament

kable(rank_iGestOrcament, digits=3, row.names = TRUE,
      col.names = c("Universidade", "iGestOrcament")) %>%
  kable_styling(full_width = TRUE) %>%
  row_spec(59, bold = T, color = "white", background = "red")
Universidade iGestOrcament
1 UNIFEI 1.000
2 UFMS 0.976
3 UFVJM 0.958
4 UFLA 0.948
5 UNIFAL-MG 0.916
6 UFV 0.915
7 UFPE 0.902
8 UFOPA 0.902
9 UFRN 0.885
10 UFRJ 0.857
11 CHS-UFRJ 0.857
12 FUB 0.856
13 UFMG 0.852
14 UFRA 0.840
15 UFPA 0.792
16 UFC 0.785
17 UFABC 0.777
18 UFRR 0.712
19 UFBA 0.709
20 UFES 0.708
21 UFOB 0.677
22 UFS 0.661
23 UNIFESP 0.588
24 Univasf 0.579
25 UFPR 0.569
26 UFOP 0.548
27 UFAC 0.534
28 UFFS 0.513
29 UNILA 0.504
30 UNILAB 0.501
31 UFCSPA 0.498
32 UNIFESSPA 0.497
33 UFJF 0.496
34 UFRGS 0.478
35 UFAL 0.466
36 UFG 0.466
37 UNIFAP 0.458
38 UniRIO 0.457
39 UFSCar 0.456
40 UFPel 0.446
41 FURG 0.444
42 UFMT 0.421
43 UFRPE 0.409
44 UNIPAMPA 0.401
45 UFCA 0.396
46 UFT 0.379
47 UFPI 0.373
48 UFSJ 0.369
49 UFSM 0.331
50 UFSC 0.331
51 UFAM 0.288
52 UFU 0.267
53 UFTM 0.263
54 UTFPR 0.231
55 UFSB 0.223
56 UNIR 0.221
57 UFPB 0.216
58 UFGD 0.212
59 UFERSA 0.175
60 UFF 0.174
61 UFCG 0.133
62 UFRRJ 0.129
63 UFMA 0.122
64 UFRB 0.082

2 Governança Pública Organizacional

2.1 Lid: Capacidade em Liderança

pratica_Lid = data.frame(iten1111 = dados$`1110`,
                         iten1112 = dados$`1120`,
                         iten1130 = dados$`1130`)


pesosLid = extrator_de_pesos(pratica_Lid)

# verificando se os pesos estao corretos:
matrix(c(dados$`1110`,dados$`1120`, dados$`1130`), 378,3) %*% 
  matrix(pesosLid, 3,1) -> nota_Lid

# data.frame(nota_Lid, dados$Lid) %>% View

# tabela:
pesosLid %>% #round(6) %>%
  as.data.frame -> pesosLid

# adicionando a nota da ufersa
pesosLid$nota_ufersa = results_ufersa %>% 
  dplyr::select(`1110`, `1120`, `1130`) %>% t %>% round(3)

cbind(pesosLid,
      data.frame(maxi1110 = dados$`1110` %>% max,
                 maxi1120 = dados$`1120` %>% max,
                 maxi1130 = dados$`1130` %>% max) %>% t) -> pesosLid



colnames(pesosLid) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosLid, caption="Pesos da pratica Lid",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosLid$Nota_Ufersa == min(pesosLid$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica Lid
Pesos Notas da Ufersa Nota maxima Geral
iten1111 0.350 0.322 1
iten1112 0.348 0.454 1
iten1130 0.302 0.151 1

2.2 Estr: Capacidade em Estratégia

pratica_Estr = data.frame(iten2110 = dados$`2110`,
                         iten2120 = dados$`2120`,
                         iten2130 = dados$`2130`,
                         iten2140 = dados$`2140`,
                         iten2150 = dados$`2150`)


pesosEstr = extrator_de_pesos(pratica_Estr)

# verificando se os pesos estao corretos:
matrix(c(dados$`2110`,dados$`2120`, dados$`2130`, 
         dados$`2140`, dados$`2150`), 378,5) %*% 
  matrix(pesosEstr, 5,1) -> nota_Estr


# tabela:
pesosEstr %>% #round(6) %>%
  as.data.frame -> pesosEstr

# adicionando a nota da ufersa
pesosEstr$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2110`, `2120`, `2130`,
                `2140`, `2150`) %>% t %>% round(3)

cbind(pesosEstr,
      data.frame(maxi2110 = dados$`2110` %>% max,
                 maxi2120 = dados$`2120` %>% max,
                 maxi2130 = dados$`2130` %>% max,
                 maxi2140 = dados$`2140` %>% max,
                 maxi2150 = dados$`2150` %>% max) %>% t) -> pesosEstr



colnames(pesosEstr) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosEstr, caption="Pesos da pratica Estr",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosEstr$Nota_Ufersa == min(pesosEstr$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica Estr
Pesos Notas da Ufersa Nota maxima Geral
iten2110 0.154 0.201 1
iten2120 0.215 0.720 1
iten2130 0.233 0.445 1
iten2140 0.199 0.725 1
iten2150 0.199 0.425 1

2.3 Cont: Capacidade em Controle

pratica_Cont = data.frame(iten3110 = dados$`3110`,
                          iten3120 = dados$`3120`,
                          iten3130 = dados$`3130`,
                          iten3140 = dados$`3140`)


pesosCont = extrator_de_pesos(pratica_Cont)

# verificando se os pesos estao corretos:
matrix(c(dados$`3110`,dados$`3120`, dados$`3130`, 
         dados$`3140`), 378,4) %*% 
  matrix(pesosCont, 4,1) -> nota_Cont

# data.frame(nota_Cont, dados$Cont) %>% View

# tabela:
pesosCont %>% #round(6) %>%
  as.data.frame -> pesosCont

# adicionando a nota da ufersa
pesosCont$nota_ufersa = results_ufersa %>% 
  dplyr::select(`3110`, `3120`, `3130`, `3140`) %>% t %>% round(3)

cbind(pesosCont,
      data.frame(maxi3110 = dados$`3110` %>% max,
                 maxi3120 = dados$`3120` %>% max,
                 maxi3130 = dados$`3130` %>% max,
                 maxi3140 = dados$`3140` %>% max) %>% t) -> pesosCont



colnames(pesosCont) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosCont, caption="Pesos da pratica Cont",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosCont$Nota_Ufersa == min(pesosCont$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica Cont
Pesos Notas da Ufersa Nota maxima Geral
iten3110 0.235 0.468 1
iten3120 0.370 0.444 1
iten3130 0.217 0.320 1
iten3140 0.178 0.668 1

2.4 Prática 1110

Capacidade em estabelecer o modelo de governança

    1. A estrutura interna de governança da organização está estabelecida
    1. A organização assegura o adequado balanceamento de poder para tomada de decisões críticas
pratica_1110 = data.frame(iten1111 = dados$`1111`,
                          iten1112 = dados$`1112`)


pesos1110 = extrator_de_pesos(pratica_1110)

# verificando se os pesos estao corretos:
matrix(c(dados$`1111`,dados$`1112`), 378,2) %*% 
  matrix(pesos1110, 2,1) -> nota_1110

# data.frame(nota_1110, dados$`1110`) %>% View

# tabela:
pesos1110 %>% #round(6) %>%
  as.data.frame -> pesos1110

# adicionando a nota da ufersa
pesos1110$nota_ufersa = results_ufersa %>% 
  dplyr::select(`1111`, `1112`) %>% t %>% round(3)

cbind(pesos1110,
      data.frame(maxi1111 = dados$`1111` %>% max,
                 maxi1112 = dados$`1112` %>% max) %>% t) -> pesos1110



colnames(pesos1110) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos1110, caption="Pesos da pratica 1110",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos1110$Nota_Ufersa == min(pesos1110$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 1110
Pesos Notas da Ufersa Nota maxima Geral
iten1111 0.575 0.292 1
iten1112 0.425 0.362 1

2.5 Prática 1120

Capacidade em promover a integridade

    1. Os membros da alta administração e de conselho ou colegiado superior estão comprometidos com a integridade
    1. Há gestão de ética para a organização
    1. Programa de integridade da organização está estabelecido
    1. Medidas para identificação e tratamento de conflito de interesses estão estabelecidas
pratica_1120 = data.frame(iten1121 = dados$`1121`,
                          iten1122 = dados$`1122`,
                          iten1123 = dados$`1123`,
                          iten1124 = dados$`1124`)


pesos1120 = extrator_de_pesos(pratica_1120)

# verificando se os pesos estao corretos:
matrix(c(dados$`1121`,dados$`1122`, dados$`1123`, dados$`1124`),378,4) %*% 
  matrix(pesos1120, 4,1) -> nota_1120

# data.frame(nota_1120, dados$`1120`) %>% View

# tabela:
pesos1120 %>% #round(6) %>%
  as.data.frame -> pesos1120

# adicionando a nota da ufersa
pesos1120$nota_ufersa = results_ufersa %>% 
  dplyr::select(`1121`, `1122`, `1123`, `1124`) %>% t %>% round(3)

cbind(pesos1120,
      data.frame(maxi1111 = dados$`1121` %>% max,
                 maxi1112 = dados$`1122` %>% max, 
                 maxi1113 = dados$`1123` %>% max, 
                 maxi1114 = dados$`1124` %>% max) 
      %>% t) -> pesos1120



colnames(pesos1120) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos1120, caption="Pesos da pratica 1120",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos1120$Nota_Ufersa == min(pesos1120$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 1120
Pesos Notas da Ufersa Nota maxima Geral
iten1121 0.299 0.490 1
iten1122 0.276 0.717 1
iten1123 0.208 0.325 1
iten1124 0.217 0.194 1

2.6 Prática 1130

Capacidade em promover a capacidade em liderança

    1. A escolha dos membros da alta administração é realizada com base em critérios e procedimentos definidos
    1. O desempenho dos membros da alta administração é avaliado
    1. As competências dos membros da alta administração são aprimoradas
pratica_1130 = data.frame(iten1131 = dados$`1131`,
                          iten1132 = dados$`1132`,
                          iten1133 = dados$`1133`)


pesos1130 = extrator_de_pesos(pratica_1130)

# verificando se os pesos estao corretos:
matrix(c(dados$`1131`,dados$`1132`, dados$`1133`), 378,3) %*% 
  matrix(pesos1130, 3,1) -> nota_1130

#data.frame(nota_1130, dados$`1130`) %>% View

# tabela:
pesos1130 %>% #round(6) %>%
  as.data.frame -> pesos1130

# adicionando a nota da ufersa
pesos1130$nota_ufersa = results_ufersa %>% 
  dplyr::select(`1131`, `1132`, `1133`) %>% t %>% round(3)

cbind(pesos1130,
      data.frame(maxi1131 = dados$`1131` %>% max,
                 maxi1132 = dados$`1132` %>% max, 
                 maxi1133 = dados$`1133` %>% max) 
      %>% t) -> pesos1130



colnames(pesos1130) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos1130, caption="Pesos da pratica 1130",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos1130$Nota_Ufersa == min(pesos1130$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 1130
Pesos Notas da Ufersa Nota maxima Geral
iten1131 0.279 0.000 1
iten1132 0.327 0.000 1
iten1133 0.393 0.383 1

2.7 Prática 2110

Capacidade em gerir riscos

    1. A estrutura da gestão de riscos está definida
    1. Atividades típicas de segunda linha estão estabelecidas
    1. O processo de gestão de riscos da organização está implantado
    1. Os riscos considerados críticos para a organização são geridos
    1. A organização executa processo de gestão de continuidade do negócio
pratica_2110 = data.frame(iten2111 = dados$`2111`,
                          iten2112 = dados$`2112`,
                          iten2113 = dados$`2113`,
                          iten2113 = dados$`2114`,
                          iten2113 = dados$`2115`)


pesos2110 = extrator_de_pesos(pratica_2110)

# verificando se os pesos estao corretos:
matrix(c(dados$`2111`,dados$`2112`, dados$`2113`, 
         dados$`2114`, dados$`2115`), 378,5) %*% 
  matrix(pesos2110, 5,1) -> nota_2110

#data.frame(nota_2110, dados$`2110`) %>% View

# tabela:
pesos2110 %>% #round(6) %>%
  as.data.frame -> pesos2110

# adicionando a nota da ufersa
pesos2110$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2111`, `2112`, `2113`, `2114`, `2115`) %>% t %>% round(3)

cbind(pesos2110,
      data.frame(maxi2111 = dados$`2111` %>% max,
                 maxi2112 = dados$`2112` %>% max, 
                 maxi2113 = dados$`2113` %>% max, 
                 maxi2114 = dados$`2114` %>% max, 
                 maxi2115 = dados$`2115` %>% max) 
      %>% t) -> pesos2110



colnames(pesos2110) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos2110, caption="Pesos da pratica 2110",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos2110$Nota_Ufersa == min(pesos2110$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 2110
Pesos Notas da Ufersa Nota maxima Geral
iten2111 0.217 0.35 1
iten2112 0.205 0.40 1
iten2113 0.221 0.15 1
iten2113.1 0.204 0.05 1
iten2113.2 0.153 0.00 1

2.8 Prática 2120

Capacidade em estabelecer a estratégia

    1. O modelo de gestão da estratégia da organização está estabelecido
    1. A estratégia da organização está definida
    1. A organização definiu metas para a simplificação do atendimento prestado aos usuários dos serviços públicos
pratica_2120 = data.frame(iten2121 = dados$`2121`,
                          iten2122 = dados$`2122`,
                          iten2123 = dados$`2123`)


pesos2120 = extrator_de_pesos(pratica_2120)

# verificando se os pesos estao corretos:
matrix(c(dados$`2121`,dados$`2122`, dados$`2123`), 378,
       length(pesos2120)) %*% 
  matrix(pesos2120, length(pesos2120), 1) -> nota_2120

#data.frame(nota_2120, dados$`2120`) %>% View

# tabela:
pesos2120 %>% #round(6) %>%
  as.data.frame -> pesos2120

# adicionando a nota da ufersa
pesos2120$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2121`, `2122`, `2123`) %>% t %>% round(3)

cbind(pesos2120,
      data.frame(maxi2121 = dados$`2121` %>% max,
                 maxi2122 = dados$`2122` %>% max, 
                 maxi2123 = dados$`2123` %>% max) 
      %>% t) -> pesos2120



colnames(pesos2120) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos2120, caption="Pesos da pratica 2120",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos2120$Nota_Ufersa == min(pesos2120$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 2120
Pesos Notas da Ufersa Nota maxima Geral
iten2121 0.363 0.915 1
iten2122 0.382 0.915 1
iten2123 0.255 0.150 1

2.9 Prática 2130

Capacidade em promover a gestão estratégica

2131. A alta administração estabeleceu modelo de gestão dos processos finalísticos 2132. A alta administração estabeleceu modelo de gestão de pessoas 2133. A alta administração estabeleceu modelo de gestão de tecnologia da informação 2134. A alta administração estabeleceu modelo de gestão de contratações *2135. A alta administração estabeleceu modelo de gestão orçamentária e financeira

pratica_2130 = data.frame(iten2131 = dados$`2131`,
                          iten2132 = dados$`2132`,
                          iten2133 = dados$`2133`,
                          iten2134 = dados$`2134`,
                          iten2135 = dados$`2135`)


pesos2130 = extrator_de_pesos(pratica_2130)

# verificando se os pesos estao corretos:
matrix(c(dados$`2131`,dados$`2132`, dados$`2133`, dados$`2134`, dados$`2135`), 
       378, length(pesos2130)) %*% 
  matrix(pesos2130, length(pesos2130), 1) -> nota_2130

#data.frame(nota_2130, dados$`2130`) %>% View

# tabela:
pesos2130 %>% #round(6) %>%
  as.data.frame -> pesos2130

# adicionando a nota da ufersa
pesos2130$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2131`, `2132`, `2133`, `2134`, `2135`) %>% t %>% round(3)

cbind(pesos2130,
      data.frame(maxi2131 = dados$`2131` %>% max,
                 maxi2132 = dados$`2132` %>% max, 
                 maxi2133 = dados$`2133` %>% max, 
                 maxi2134 = dados$`2134` %>% max, 
                 maxi2135 = dados$`2135` %>% max) 
      %>% t) -> pesos2130



colnames(pesos2130) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos2130, caption="Pesos da pratica 2130",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos2130$Nota_Ufersa == min(pesos2130$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 2130
Pesos Notas da Ufersa Nota maxima Geral
iten2131 0.157 1.000 1
iten2132 0.206 0.830 1
iten2133 0.195 0.422 1
iten2134 0.228 0.150 1
iten2135 0.213 0.000 1

2.10 Prática 2140

Capacidade em monitorar os resultados organizacionais

    1. A execução da estratégia é monitorada (eficácia)
    1. A eficiência dos principais processos pelos quais a estratégia é implementada é avaliada
    1. Os efeitos da estratégia são avaliados (efetividade)
pratica_2140 = data.frame(iten2141 = dados$`2141`,
                          iten2142 = dados$`2142`,
                          iten2143 = dados$`2143`)


pesos2140 = extrator_de_pesos(pratica_2140)

# verificando se os pesos estao corretos:
matrix(c(dados$`2141`,dados$`2142`, dados$`2143`), 
       378, length(pesos2140)) %*% 
  matrix(pesos2140, length(pesos2140), 1) -> nota_2140

#data.frame(nota_2140, dados$`2140`) %>% View

# tabela:
pesos2140 %>% #round(6) %>%
  as.data.frame -> pesos2140

# adicionando a nota da ufersa
pesos2140$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2141`, `2142`, `2143`) %>% t %>% round(3)

cbind(pesos2140,
      data.frame(maxi2141 = dados$`2141` %>% max,
                 maxi2142 = dados$`2142` %>% max, 
                 maxi2143 = dados$`2143` %>% max) 
      %>% t) -> pesos2140



colnames(pesos2140) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos2140, caption="Pesos da pratica 2140",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos2140$Nota_Ufersa == min(pesos2140$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 2140
Pesos Notas da Ufersa Nota maxima Geral
iten2141 0.354 1.00 1
iten2142 0.323 0.15 1
iten2143 0.322 1.00 1

2.11 Prática 2150

Capacidade em monitorar o desempenho das funções de gestão

    1. A liderança monitora o desempenho da gestão dos processos finalísticos
    1. A liderança monitora o desempenho da gestão de pessoas
    1. A liderança monitora o desempenho da gestão de tecnologia da informação
    1. A liderança monitora o desempenho da gestão de contratações
    1. A liderança monitora o desempenho da área de gestão orçamentária e financeira
pratica_2150 = data.frame(iten2151 = dados$`2151`,
                          iten2152 = dados$`2152`,
                          iten2153 = dados$`2153`,
                          iten2154 = dados$`2154`,
                          iten2155 = dados$`2155`)


pesos2150 = extrator_de_pesos(pratica_2150)

# verificando se os pesos estao corretos:
matrix(c(dados$`2151`,dados$`2152`, dados$`2153`, dados$`2154`, dados$`2155`), 
       378, length(pesos2150)) %*% 
  matrix(pesos2150, length(pesos2150), 1) -> nota_2150

#data.frame(nota_2150, dados$`2150`) %>% View

# tabela:
pesos2150 %>% #round(6) %>%
  as.data.frame -> pesos2150

# adicionando a nota da ufersa
pesos2150$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2151`, `2152`, `2153`, `2154`, `2155`) %>% t %>% round(3)

cbind(pesos2150,
      data.frame(maxi2151 = dados$`2151` %>% max,
                 maxi2152 = dados$`2152` %>% max, 
                 maxi2153 = dados$`2153` %>% max, 
                 maxi2154 = dados$`2154` %>% max, 
                 maxi2155 = dados$`2155` %>% max) 
      %>% t) -> pesos2150



colnames(pesos2150) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos2150, caption="Pesos da pratica 2150",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos2150$Nota_Ufersa == min(pesos2150$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 2150
Pesos Notas da Ufersa Nota maxima Geral
iten2151 0.168 1.000 1
iten2152 0.204 0.500 1
iten2153 0.195 0.150 1
iten2154 0.218 0.575 1
iten2155 0.214 0.000 1

2.12 Prática 3110

Capacidade em promover a transparência

    1. Transparência ativa e passiva são asseguradas às partes interessadas
    1. A organização publica seus dados de forma aderente aos princípios de dados abertos
pratica_3110 = data.frame(iten3111 = dados$`3111`,
                          iten3112 = dados$`3112`)

pesos3110 = extrator_de_pesos(pratica_3110)

# verificando se os pesos estao corretos:
matrix(c(dados$`3111`,dados$`3112`), 378,
       length(pesos3110)) %*% 
  matrix(pesos3110, length(pesos3110), 1) -> nota_3110

#data.frame(nota_3110, dados$`3110`) %>% View

# tabela:
pesos3110 %>% #round(6) %>%
  as.data.frame -> pesos3110

# adicionando a nota da ufersa
pesos3110$nota_ufersa = results_ufersa %>% 
  dplyr::select(`3111`, `3112`) %>% t %>% round(3)

cbind(pesos3110,
      data.frame(maxi3111 = dados$`3111` %>% max,
                 maxi3112 = dados$`3112` %>% max) 
      %>% t) -> pesos3110


colnames(pesos3110) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos3110, caption="Pesos da pratica 3110",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos3110$Nota_Ufersa == min(pesos3110$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 3110
Pesos Notas da Ufersa Nota maxima Geral
iten3111 0.566 0.433 1
iten3112 0.434 0.514 1

2.13 Prática 3120

Capacidade em garantir a accountability

    1. A organização presta contas diretamente à sociedade
    1. A organização publica extrato de todos os planos de sua responsabilidade e respectivos relatórios de acompanhamento, excepcionados os casos de restrição de acesso amparados pela legislação
    1. O canal de denúncias está estabelecido
    1. Mecanismos para apurar indícios de irregularidades e promover a responsabilização em caso de comprovação estão estabelecidos
pratica_3120 = data.frame(iten3121 = dados$`3121`,
                          iten3122 = dados$`3122`,
                          iten3123 = dados$`3123`,
                          iten3124 = dados$`3124`)


pesos3120 = extrator_de_pesos(pratica_3120)

# verificando se os pesos estao corretos:
matrix(c(dados$`3121`,dados$`3122`, dados$`3123`, dados$`3124`), 378,
       length(pesos3120)) %*% 
  matrix(pesos3120, length(pesos3120), 1) -> nota_3120

#data.frame(nota_3120, dados$`3120`) %>% View

# tabela:
pesos3120 %>% #round(6) %>%
  as.data.frame -> pesos3120

# adicionando a nota da ufersa
pesos3120$nota_ufersa = results_ufersa %>% 
  dplyr::select(`3121`, `3122`, `3123`, `3124`) %>% t %>% round(3)

cbind(pesos3120,
      data.frame(maxi3121 = dados$`3121` %>% max,
                 maxi3122 = dados$`3122` %>% max,
                 maxi3123 = dados$`3123` %>% max,
                 maxi3124 = dados$`3124` %>% max) 
      %>% t) -> pesos3120


colnames(pesos3120) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos3120, caption="Pesos da pratica 3120",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos3120$Nota_Ufersa == min(pesos3120$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 3120
Pesos Notas da Ufersa Nota maxima Geral
iten3121 0.307 0.393 1
iten3122 0.129 0.000 1
iten3123 0.353 0.681 1
iten3124 0.211 0.393 1

2.14 Prática 3130

Capacidade em monitorar a satisfação dos usuários

    1. A organização elabora, divulga e mantém atualizada Carta de Serviços ao Usuário contendo informações claras e precisas em relação a cada serviço prestado
    1. A organização assegura que os serviços acessíveis via internet atendam aos padrões de interoperabilidade, usabilidade e acessibilidade, e que as informações pessoais utilizadas nesses serviços sejam adequadamente protegidas
    1. A organização promove a participação dos usuários com vistas à melhoria da qualidade dos serviços públicos prestados
pratica_3130 = data.frame(iten3131 = dados$`3131`,
                          iten3132 = dados$`3132`,
                          iten3133 = dados$`3133`)


pesos3130 = extrator_de_pesos(pratica_3130)

# verificando se os pesos estao corretos:
matrix(c(dados$`3131`,dados$`3132`, dados$`3133`), 378,
       length(pesos3130)) %*% 
  matrix(pesos3130, length(pesos3130), 1) -> nota_3130

#data.frame(nota_3130, dados$`3130`) %>% View

# tabela:
pesos3130 %>% #round(6) %>%
  as.data.frame -> pesos3130

# adicionando a nota da ufersa
pesos3130$nota_ufersa = results_ufersa %>% 
  dplyr::select(`3131`, `3132`, `3133`) %>% t %>% round(3)

cbind(pesos3130,
      data.frame(maxi3131 = dados$`3131` %>% max,
                 maxi3132 = dados$`3132` %>% max,
                 maxi3133 = dados$`3133` %>% max) 
      %>% t) -> pesos3130


colnames(pesos3130) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos3130, caption="Pesos da pratica 3130",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos3130$Nota_Ufersa == min(pesos3130$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 3130
Pesos Notas da Ufersa Nota maxima Geral
iten3131 0.312 0.514 1
iten3132 0.332 0.320 1
iten3133 0.356 0.150 1

2.15 Prática 3140

Capacidade em assegurar a efetividade da auditoria interna

    1. A instância superior de governança da organização participa da elaboração Plano Anual de Auditoria Interna
    1. A instância superior de governança recebe serviços de auditoria interna que adicionam valor à organização
    1. A organização acompanha os resultados dos trabalhos de auditoria interna
    1. A instância superior de governança da organização opina sobre o desempenho da função de auditoria interna
pratica_3140 = data.frame(iten3141 = dados$`3141`,
                          iten3142 = dados$`3142`,
                          iten3143 = dados$`3143`,
                          iten3144 = dados$`3144`)


pesos3140 = extrator_de_pesos(pratica_3140)

# verificando se os pesos estao corretos:
matrix(c(dados$`3141`,dados$`3142`, dados$`3143`, dados$`3144`), 378,
       length(pesos3140)) %*% 
  matrix(pesos3140, length(pesos3140), 1) -> nota_3140

#data.frame(nota_3140, dados$`3140`) %>% View

# tabela:
pesos3140 %>% #round(6) %>%
  as.data.frame -> pesos3140

# adicionando a nota da ufersa
pesos3140$nota_ufersa = results_ufersa %>% 
  dplyr::select(`3141`, `3142`, `3143`, `3144`) %>% t %>% round(3)

cbind(pesos3140,
      data.frame(maxi3141 = dados$`3141` %>% max,
                 maxi3142 = dados$`3142` %>% max,
                 maxi3143 = dados$`3143` %>% max, 
                 maxi3144 = dados$`3144` %>% max) 
      %>% t) -> pesos3140


colnames(pesos3140) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos3140, caption="Pesos da pratica 3140",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos3140$Nota_Ufersa == min(pesos3140$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 3140
Pesos Notas da Ufersa Nota maxima Geral
iten3141 0.233 0.433 1
iten3142 0.275 0.660 1
iten3143 0.251 0.575 1
iten3144 0.242 1.000 1

3 Governanca e Gestão de Pessoas

3.1 iGovPessoas

Índice de Governança e Gestão de pessoas

3.2 iGestPessoas

Índice de Gestão de Pessoas

pratica_iGestPessoas = data.frame(iten4110 = dados$`4110`,
                          iten4120 = dados$`4120`,
                          iten4130 = dados$`4130`,
                          iten4140 = dados$`4140`,
                          iten4150 = dados$`4150`,
                          iten4160 = dados$`4160`,
                          iten4170 = dados$`4170`)


pesosiGestPessoas = extrator_de_pesos(pratica_iGestPessoas)

# verificando se os pesos estao corretos:
matrix(c(dados$`4110`,dados$`4120`,dados$`4130`, dados$`4140`,
         dados$`4150`, dados$`4160`, dados$`4170`), 378,
       length(pesosiGestPessoas)) %*% 
  matrix(pesosiGestPessoas, length(pesosiGestPessoas), 1) -> nota_iGestPessoas

#data.frame(nota_iGestPessoas, dados$`iGestPessoas`) %>% View

# tabela:
pesosiGestPessoas %>% #round(6) %>%
  as.data.frame -> pesosiGestPessoas

# adicionando a nota da ufersa
pesosiGestPessoas$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4110`, `4120`, `4130`, `4140`, `4150`, 
                `4160`, `4170`) %>% t %>% round(3)

cbind(pesosiGestPessoas,
      data.frame(maxi4110 = dados$`4110` %>% max,
                 maxi4120 = dados$`4120` %>% max,
                 maxi4130 = dados$`4130` %>% max,
                 maxi4140 = dados$`4140` %>% max,
                 maxi4150 = dados$`4150` %>% max,
                 maxi4160 = dados$`4160` %>% max, 
                 maxi4170 = dados$`4170` %>% max) 
      %>% t) -> pesosiGestPessoas


colnames(pesosiGestPessoas) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGestPessoas, caption="Pesos da pratica iGestPessoas",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGestPessoas$Nota_Ufersa == min(pesosiGestPessoas$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGestPessoas
Pesos Notas da Ufersa Nota maxima Geral
iten4110 0.137 0.518 1
iten4120 0.161 0.503 1
iten4130 0.148 0.533 1
iten4140 0.132 0.000 1
iten4150 0.151 0.918 1
iten4160 0.157 0.172 1
iten4170 0.113 0.519 1

3.3 Prática 4110

Capacidade em realizar planejamento da gestão de pessoas.

    1. Definiram-se objetivos, indicadores e metas de desempenho para cada função (subsistema) de gestão de pessoas
    1. Há plano(s) específico(s) para orientar a gestão de pessoas na organização
    1. A organização verifica se os gestores cumprem as políticas de gestão de pessoas
pratica_4110 = data.frame(iten4111 = dados$`4111`,
                          iten4112 = dados$`4112`,
                          iten4113 = dados$`4113`)


pesos4110 = extrator_de_pesos(pratica_4110)

# verificando se os pesos estao corretos:
matrix(c(dados$`4111`,dados$`4112`, dados$`4113`), 378,
       length(pesos4110)) %*% 
  matrix(pesos4110, length(pesos4110), 1) -> nota_4110

#data.frame(nota_4110, dados$`4110`) %>% View

#data.frame(nota_iGestPessoas, dados$`iGestPessoas`) %>% View

# tabela:
pesos4110 %>% #round(6) %>%
  as.data.frame -> pesos4110

# adicionando a nota da ufersa
pesos4110$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4111`, `4112`, `4113`) %>% t %>% round(3)

cbind(pesos4110,
      data.frame(maxi4111 = dados$`4111` %>% max,
                 maxi4122 = dados$`4122` %>% max,
                 maxi4133 = dados$`4133` %>% max) 
      %>% t) -> pesos4110


colnames(pesos4110) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4110, caption="Pesos da pratica 4110",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4110$Nota_Ufersa == min(pesos4110$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4110
Pesos Notas da Ufersa Nota maxima Geral
iten4111 0.338 0.490 1
iten4112 0.333 0.575 1
iten4113 0.329 0.490 1

3.4 Prática 4120

Capacidade em definir a demanda por colaboradores e gestores.

    1. Os perfis profissionais desejados para cada ocupação ou grupo de ocupações de gestão estão definidos e documentados
    1. Os perfis profissionais desejados para cada ocupação ou grupo de ocupações de colaboradores da organização estão definidos e documentados
    1. Há definição do quantitativo necessário de pessoal por unidade organizacional ou por processo de trabalho
    1. Monitora-se um conjunto de indicadores relevantes sobre força de trabalho
pratica_4120 = data.frame(iten4121 = dados$`4121`,
                          iten4122 = dados$`4122`,
                          iten4123 = dados$`4123`,
                          iten4123 = dados$`4124`)


pesos4120 = extrator_de_pesos(pratica_4120)

# verificando se os pesos estao corretos:
matrix(c(dados$`4121`,dados$`4122`, dados$`4123`, dados$`4124`), 378,
       length(pesos4120)) %*% 
  matrix(pesos4120, length(pesos4120), 1) -> nota_4120

#data.frame(nota_4120, dados$`4120`) %>% View

# tabela:
pesos4120 %>% #round(6) %>%
  as.data.frame -> pesos4120

# adicionando a nota da ufersa
pesos4120$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4121`, `4122`, `4123`, `4124`) %>% t %>% round(3)

cbind(pesos4120,
      data.frame(maxi4121 = dados$`4121` %>% max,
                 maxi4122 = dados$`4122` %>% max,
                 maxi4133 = dados$`4133` %>% max,
                 maxi4133 = dados$`4134` %>% max) 
      %>% t) -> pesos4120


colnames(pesos4120) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4120, caption="Pesos da pratica 4120",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4120$Nota_Ufersa == min(pesos4120$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4120
Pesos Notas da Ufersa Nota maxima Geral
iten4121 0.278 0.757 1
iten4122 0.260 0.858 1
iten4123 0.223 0.000 1
iten4123.1 0.239 0.290 1

3.5 Prática 4130

Capacidade em assegurar o provimento das vagas existentes.

    1. A escolha dos gestores ocorre segundo perfis profissionais previamente definidos e documentados
    1. Os métodos e critérios das seleções externas (p.ex. dos concursos públicos; colaboradores requisitados em seleções externas) são definidos com base nos perfis profissionais desejados definidos na prática “4120. Definir adequadamente, em termos qualitativos e quantitativos, a demanda por colaboradores e gestores”
    1. O número de vagas solicitadas para serem preenchidas nas seleções externas é estabelecido a partir do quantitativo necessário de pessoal por unidade organizacional ou por processo de trabalho, atualizado conforme a prática “4120. Definir adequadamente, em termos qualitativos e quantitativos, a demanda por colaboradores e gestores”
    1. A organização aloca os colaboradores com base na comparação entre os perfis profissionais apresentados por eles e os perfis profissionais desejados (documentados) pelas unidades organizacionais
pratica_4130 = data.frame(iten4131 = dados$`4131`,
                          iten4132 = dados$`4132`,
                          iten4133 = dados$`4133`,
                          iten4133 = dados$`4134`)


pesos4130 = extrator_de_pesos(pratica_4130)

# verificando se os pesos estao corretos:
matrix(c(dados$`4131`,dados$`4132`, dados$`4133`, dados$`4134`), 378,
       length(pesos4130)) %*% 
  matrix(pesos4130, length(pesos4130), 1) -> nota_4130

#data.frame(nota_4130, dados$`4130`) %>% View

# tabela:
pesos4130 %>% #round(6) %>%
  as.data.frame -> pesos4130

# adicionando a nota da ufersa
pesos4130$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4131`, `4132`, `4133`, `4134`) %>% t %>% round(3)

cbind(pesos4130,
      data.frame(maxi4131 = dados$`4131` %>% max,
                 maxi4132 = dados$`4132` %>% max,
                 maxi4133 = dados$`4133` %>% max,
                 maxi4133 = dados$`4134` %>% max) 
      %>% t) -> pesos4130


colnames(pesos4130) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4130, caption="Pesos da pratica 4130",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4130$Nota_Ufersa == min(pesos4130$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4130
Pesos Notas da Ufersa Nota maxima Geral
iten4131 0.260 0.66 1
iten4132 0.250 0.50 1
iten4133 0.237 1.00 1
iten4133.1 0.254 0.00 1

3.6 Prática 4140

Capacidade em assegurar a disponibilidade de sucessores qualificados.

    1. Há uma política, ou programa, de sucessão
    1. As ocupações críticas da organização estão identificadas
    1. Há plano de sucessão para as ocupações críticas
    1. A organização executa ações educacionais para assegurar a disponibilidade de sucessores qualificados para as ocupações críticas
pratica_4140 = data.frame(iten4141 = dados$`4141`,
                          iten4142 = dados$`4142`,
                          iten4143 = dados$`4143`,
                          iten4143 = dados$`4144`)


pesos4140 = extrator_de_pesos(pratica_4140)

# verificando se os pesos estao corretos:
matrix(c(dados$`4141`,dados$`4142`, dados$`4143`, dados$`4144`), 378,
       length(pesos4140)) %*% 
  matrix(pesos4140, length(pesos4140), 1) -> nota_4140

#data.frame(nota_4140, dados$`4140`) %>% View

# tabela:
pesos4140 %>% #round(6) %>%
  as.data.frame -> pesos4140

# adicionando a nota da ufersa
pesos4140$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4141`, `4142`, `4143`, `4144`) %>% t %>% round(3)

cbind(pesos4140,
      data.frame(maxi4141 = dados$`4141` %>% max,
                 maxi4142 = dados$`4142` %>% max,
                 maxi4143 = dados$`4143` %>% max,
                 maxi4143 = dados$`4144` %>% max) 
      %>% t) -> pesos4140


colnames(pesos4140) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4140, caption="Pesos da pratica 4140",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4140$Nota_Ufersa == min(pesos4140$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4140
Pesos Notas da Ufersa Nota maxima Geral
iten4141 0.231 0 1
iten4142 0.226 0 1
iten4143 0.280 0 1
iten4143.1 0.263 0 1

3.7 Prática 4150

Capacidade em desenvolver as competências dos colaboradores e dos gestores.

    1. As lacunas de competências dos colaboradores e gestores da organização são identificadas e documentadas
    1. Há ações de desenvolvimento de liderança para os colaboradores que assumem funções gerenciais
  • 4153 A organização avalia as ações educacionais realizadas, com o objetivo de promover melhorias em ações educacionais futuras
pratica_4150 = data.frame(iten4151 = dados$`4151`,
                          iten4152 = dados$`4152`,
                          iten4153 = dados$`4153`)


pesos4150 = extrator_de_pesos(pratica_4150)

# verificando se os pesos estao corretos:
matrix(c(dados$`4151`,dados$`4152`, dados$`4153`), 378,
       length(pesos4150)) %*% 
  matrix(pesos4150, length(pesos4150), 1) -> nota_4150

#data.frame(nota_4150, dados$`4150`) %>% View

# tabela:
pesos4150 %>% #round(6) %>%
  as.data.frame -> pesos4150

# adicionando a nota da ufersa
pesos4150$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4151`, `4152`, `4153`) %>% t %>% round(3)

cbind(pesos4150,
      data.frame(maxi4151 = dados$`4151` %>% max,
                 maxi4152 = dados$`4152` %>% max,
                 maxi4153 = dados$`4153` %>% max) 
      %>% t) -> pesos4150


colnames(pesos4150) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4150, caption="Pesos da pratica 4150",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4150$Nota_Ufersa == min(pesos4150$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4150
Pesos Notas da Ufersa Nota maxima Geral
iten4151 0.288 1.000 1
iten4152 0.328 1.000 1
iten4153 0.384 0.787 1

3.8 Prática 4160

Capacidade em desenvolver e manter ambiente de trabalho positivo para o desempenho

    1. O ambiente de trabalho organizacional é avaliado
    1. A organização oferece aos colaboradores condições mais flexíveis e estimulantes para realização de trabalho, com vistas ao aumento do desempenho
    1. Há programa(s) de qualidade de vida no trabalho
    1. Há programa de reconhecimento de colaboradores e equipes
    1. Há procedimentos estruturados para identificar os motivos pessoais dos desligamentos voluntários da organização
    1. Há procedimentos estruturados para identificar os motivos dos pedidos de movimentação interna dos colaboradores da organização
pratica_4160 = data.frame(iten4161 = dados$`4161`,
                          iten4162 = dados$`4162`,
                          iten4163 = dados$`4163`,
                          iten4164 = dados$`4164`,
                          iten4165 = dados$`4165`,
                          iten4166 = dados$`4166`)


pesos4160 = extrator_de_pesos(pratica_4160)

# verificando se os pesos estao corretos:
matrix(c(dados$`4161`,dados$`4162`, dados$`4163`, 
         dados$`4164`, dados$`4165`, dados$`4166`), 378,
       length(pesos4160)) %*% 
  matrix(pesos4160, length(pesos4160), 1) -> nota_4160

#data.frame(nota_4160, dados$`4160`) %>% View


# tabela:
pesos4160 %>% #round(6) %>%
  as.data.frame -> pesos4160

# adicionando a nota da ufersa
pesos4160$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4161`, `4162`, `4163`, 
                `4164`, `4165`, `4166`) %>% t %>% round(3)

cbind(pesos4160,
      data.frame(maxi4161 = dados$`4161` %>% max,
                 maxi4162 = dados$`4162` %>% max,
                 maxi4163 = dados$`4163` %>% max,
                 maxi4164 = dados$`4164` %>% max,
                 maxi4165 = dados$`4165` %>% max,
                 maxi4166 = dados$`4166` %>% max) 
      %>% t) -> pesos4160


colnames(pesos4160) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4160, caption="Pesos da pratica 4160",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4160$Nota_Ufersa == min(pesos4160$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4160
Pesos Notas da Ufersa Nota maxima Geral
iten4161 0.161 0.00 1
iten4162 0.179 0.15 1
iten4163 0.175 0.83 1
iten4164 0.187 0.00 1
iten4165 0.147 0.00 1
iten4166 0.151 0.00 1

3.9 Prática 4170

Capacidade em gerir o desempenho dos colaboradores e dos gestores.

    1. A organização estabelece metas de desempenho individuais e/ou de equipes vinculadas aos planos organizacionais
    1. A organização realiza, formalmente, avaliação de desempenho individual, com atribuição de nota ou conceito, tendo como critério de avaliação o alcance das metas previstas
    1. Os avaliadores informam aos colaboradores avaliados, antes do ciclo avaliativo, os critérios que serão utilizados para a avaliação de desempenho
    1. Os avaliadores realizam, antes da atribuição da nota ou conceito, pelo menos um encontro com colaborador avaliado com o objetivo de discutir o desempenho do avaliado
    1. Os avaliadores identificam e documentam as necessidades individuais de capacitação durante o processo de avaliação de desempenho dos seus subordinados
pratica_4170 = data.frame(iten4171 = dados$`4171`,
                          iten4172 = dados$`4172`,
                          iten4173 = dados$`4173`,
                          iten4174 = dados$`4174`,
                          iten4175 = dados$`4175`)


pesos4170 = extrator_de_pesos(pratica_4170)

# verificando se os pesos estao corretos:
matrix(c(dados$`4171`,dados$`4172`, dados$`4173`, 
         dados$`4174`, dados$`4175`), 378,
       length(pesos4170)) %*% 
  matrix(pesos4170, length(pesos4170), 1) -> nota_4170

#data.frame(nota_4170, dados$`4170`) %>% View

# tabela:
pesos4170 %>% #round(6) %>%
  as.data.frame -> pesos4170

# adicionando a nota da ufersa
pesos4170$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4171`, `4172`, `4173`, 
                `4174`, `4175`) %>% t %>% round(3)

cbind(pesos4170,
      data.frame(maxi4171 = dados$`4171` %>% max,
                 maxi4172 = dados$`4172` %>% max,
                 maxi4173 = dados$`4173` %>% max,
                 maxi4174 = dados$`4174` %>% max,
                 maxi4175 = dados$`4175` %>% max) 
      %>% t) -> pesos4170


colnames(pesos4170) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4170, caption="Pesos da pratica 4170",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4170$Nota_Ufersa == min(pesos4170$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4170
Pesos Notas da Ufersa Nota maxima Geral
iten4171 0.185 0.50 1
iten4172 0.213 0.00 1
iten4173 0.210 1.00 1
iten4174 0.206 0.15 1
iten4175 0.186 1.00 1

3.10 EstrPessoas

Capacidade em promover a gestão estratégica de pessoas

    1. A alta administração estabeleceu modelo de gestão de pessoas
    1. A liderança monitora o desempenho da gestão de pessoas
pratica_EstrPessoas = data.frame(iten2132 = dados$`2132`,
                          iten2152 = dados$`2152`)


pesosEstrPessoas = extrator_de_pesos(pratica_EstrPessoas)

# verificando se os pesos estao corretos:
matrix(c(dados$`2132`,dados$`2152`), 378,
       length(pesosEstrPessoas)) %*% 
  matrix(pesosEstrPessoas, length(pesosEstrPessoas), 1) -> nota_EstrPessoas

#data.frame(nota_EstrPessoas, dados$`EstrPessoas`) %>% View

# tabela:
pesosEstrPessoas %>% #round(6) %>%
  as.data.frame -> pesosEstrPessoas

# adicionando a nota da ufersa
pesosEstrPessoas$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2132`, `2152`) %>% t %>% round(3)

cbind(pesosEstrPessoas,
      data.frame(maxi4171 = dados$`2132` %>% max,
                 maxi4172 = dados$`2152` %>% max) 
      %>% t) -> pesosEstrPessoas


colnames(pesosEstrPessoas) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosEstrPessoas, caption="Pesos da pratica EstrPessoas",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosEstrPessoas$Nota_Ufersa == 
                   min(pesosEstrPessoas$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica EstrPessoas
Pesos Notas da Ufersa Nota maxima Geral
iten2132 0.521 0.83 1
iten2152 0.479 0.50 1

4 Governança e Gestão de Segurança e de Tecnologia da Informação

4.1 iGovTI

Índice de Governança e Gestão de TI

pratica_iGovTI = data.frame(itenGovernancaTI = dados$GovernancaTI,
                          iteniGestTI = dados$iGestTI)


pesosiGovTI = extrator_de_pesos(pratica_iGovTI)

# verificando se os pesos estao corretos:
matrix(c(dados$GovernancaTI,dados$iGestTI), 378,
       length(pesosiGovTI)) %*% 
  matrix(pesosiGovTI, length(pesosiGovTI), 1) -> nota_iGovTI

#data.frame(nota_iGovTI, dados$`iGovTI`) %>% View

# tabela:
pesosiGovTI %>% #round(6) %>%
  as.data.frame -> pesosiGovTI

# adicionando a nota da ufersa
pesosiGovTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(GovernancaTI, iGestTI) %>% t %>% round(3)

cbind(pesosiGovTI,
      data.frame(maxiGovernancaTI = dados$GovernancaTI %>% max,
                 maxiiGestTI = dados$iGestTI %>% max) 
      %>% t) -> pesosiGovTI


colnames(pesosiGovTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGovTI, caption="Pesos da pratica iGovTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGovTI$Nota_Ufersa == 
                   min(pesosiGovTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGovTI
Pesos Notas da Ufersa Nota maxima Geral
itenGovernancaTI 0.464 0.226 1.000
iteniGestTI 0.536 0.528 0.996

4.2 GovernancaTI

Índice de Governança de TI

pratica_GovernancaTI = data.frame(itenModeloTI = dados$ModeloTI,
                          itenAvaliaTI = dados$MonitorAvaliaTI,
                          itenResultadoTI = dados$ResultadoTI)


pesosGovernancaTI = extrator_de_pesos(pratica_GovernancaTI)

# verificando se os pesos estao corretos:
matrix(c(dados$ModeloTI,dados$MonitorAvaliaTI, dados$ResultadoTI), 378,
       length(pesosGovernancaTI)) %*% 
  matrix(pesosGovernancaTI, length(pesosGovernancaTI), 1) -> nota_GovernancaTI

#data.frame(nota_GovernancaTI, dados$`GovernancaTI`) %>% View

# tabela:
pesosGovernancaTI %>% #round(6) %>%
  as.data.frame -> pesosGovernancaTI

# adicionando a nota da ufersa
pesosGovernancaTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(ModeloTI, iGestTI, ResultadoTI) %>% t %>% round(3)

cbind(pesosGovernancaTI,
      data.frame(maxiModeloTI = dados$ModeloTI %>% max,
                 maxiMonitorAvaliaTI = dados$MonitorAvaliaTI %>% max, 
                 maxiResultadoTI = dados$ResultadoTI %>% max) 
      %>% t) -> pesosGovernancaTI


colnames(pesosGovernancaTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosGovernancaTI, caption="Pesos da pratica GovernancaTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosGovernancaTI$Nota_Ufersa == 
                   min(pesosGovernancaTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica GovernancaTI
Pesos Notas da Ufersa Nota maxima Geral
itenModeloTI 0.318 0.422 1
itenAvaliaTI 0.292 0.528 1
itenResultadoTI 0.390 0.205 1

4.3 iGestTI

Índice de Gestão de TI

pratica_iGestTI = data.frame(itenPlanejamentoTI = dados$PlanejamentoTI,
                          itenPessoasTI = dados$PessoasTI,
                          itenProcessosTI = dados$ProcessosTI)


pesosiGestTI = extrator_de_pesos(pratica_iGestTI)

# verificando se os pesos estao corretos:
matrix(c(dados$PlanejamentoTI,dados$PessoasTI, dados$ProcessosTI), 378,
       length(pesosiGestTI)) %*% 
  matrix(pesosiGestTI, length(pesosiGestTI), 1) -> nota_iGestTI

#data.frame(nota_iGestTI, dados$`iGestTI`) %>% View

# tabela:
pesosiGestTI %>% #round(6) %>%
  as.data.frame -> pesosiGestTI

# adicionando a nota da ufersa
pesosiGestTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(PlanejamentoTI, PessoasTI, ProcessosTI) %>% t %>% round(3)

cbind(pesosiGestTI,
      data.frame(maxiPlanejamentoTI = dados$PlanejamentoTI %>% max,
                 maxiPessoasTI = dados$PessoasTI %>% max, 
                 maxiProcessosTI = dados$ProcessosTI %>% max) 
      %>% t) -> pesosiGestTI


colnames(pesosiGestTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGestTI, caption="Pesos da pratica iGestTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGestTI$Nota_Ufersa == 
                   min(pesosiGestTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGestTI
Pesos Notas da Ufersa Nota maxima Geral
itenPlanejamentoTI 0.267 0.683 1
itenPessoasTI 0.294 0.597 1
itenProcessosTI 0.439 0.388 1

4.4 iGestSegInfo

Índice de Gestão da Segurança da Informação

pratica_iGestSegInfo = data.frame(itenEstruturaSegInfo = dados$EstruturaSegInfo,
                          itenProcessoSegInfo = dados$ProcessoSegInfo,
                          iten2115 = dados$`2115`,
                          iten4242 = dados$`4242`,
                          iten4271F = dados$`4271F`,
                          iten3142e = dados$`3142E`)


pesosiGestSegInfo = extrator_de_pesos(pratica_iGestSegInfo)

# verificando se os pesos estao corretos:
matrix(c(dados$EstruturaSegInfo,
         dados$ProcessoSegInfo,
         dados$`2115`,
         dados$`4242`,
         dados$`4271F`,
         dados$`3142E`), 378,
       length(pesosiGestSegInfo)) %*% 
  matrix(pesosiGestSegInfo, length(pesosiGestSegInfo), 1) -> nota_iGestSegInfo

#data.frame(nota_iGestSegInfo, dados$`iGestSegInfo`) %>% View

# tabela:
pesosiGestSegInfo %>% #round(6) %>%
  as.data.frame -> pesosiGestSegInfo

# adicionando a nota da ufersa
pesosiGestSegInfo$nota_ufersa = results_ufersa %>% 
  dplyr::select(EstruturaSegInfo,
                ProcessoSegInfo,
                `2115`,
                `4242`,
                `4271F`,
                `3142E`) %>% t %>% round(3)

cbind(pesosiGestSegInfo,
      data.frame(maxiEstruturaSegInfo = dados$EstruturaSegInfo %>% max,
                 maxiProcessoSegInfo = dados$ProcessoSegInfo %>% max, 
                 maxi2115 = dados$`2115` %>% max,
                 maxi4242 = dados$`4242` %>% max,
                 maxi4271F = dados$`4271F` %>% max,
                 maxi3142E = dados$`3142E` %>% max) 
      %>% t) -> pesosiGestSegInfo


colnames(pesosiGestSegInfo) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGestSegInfo, caption="Pesos da pratica iGestSegInfo",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGestSegInfo$Nota_Ufersa == 
                   min(pesosiGestSegInfo$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGestSegInfo
Pesos Notas da Ufersa Nota maxima Geral
itenEstruturaSegInfo 0.177 0.842 1
itenProcessoSegInfo 0.276 0.244 1
iten2115 0.164 0.000 1
iten4242 0.217 0.150 1
iten4271F 0.086 0.000 1
iten3142e 0.080 0.000 1

4.5 iGestContratosTI

Capacidade em Gestão de Contratos de TI

pratica_iGestContratosTI = data.frame(iten4352 = dados$`4352`,
                          iten4361A = dados$`4361A`,
                          iten4362A = dados$`4362A`)


pesosiGestContratosTI = extrator_de_pesos(pratica_iGestContratosTI)

# verificando se os pesos estao corretos:
matrix(c(dados$`4352`,dados$`4361A`, dados$`4362A`), 378,
       length(pesosiGestContratosTI)) %*% 
  matrix(pesosiGestContratosTI, length(pesosiGestContratosTI), 1) -> nota_iGestContratosTI

#data.frame(nota_iGestContratosTI, dados$iGestContratosTI) %>% View

# tabela:
pesosiGestContratosTI %>% #round(6) %>%
  as.data.frame -> pesosiGestContratosTI

# adicionando a nota da ufersa
pesosiGestContratosTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4352`,
                `4361A`,
                `4362A`) %>% t %>% round(3)

cbind(pesosiGestContratosTI,
      data.frame( 
                 maxi4352 = dados$`4352` %>% max,
                 maxi4361A = dados$`4361A` %>% max,
                 maxi4362A = dados$`4362A` %>% max) 
      %>% t) -> pesosiGestContratosTI


colnames(pesosiGestContratosTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGestContratosTI, caption="Pesos da pratica iGestContratosTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGestContratosTI$Nota_Ufersa == 
                   min(pesosiGestContratosTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGestContratosTI
Pesos Notas da Ufersa Nota maxima Geral
iten4352 0.345 0.15 1
iten4361A 0.282 1.00 1
iten4362A 0.373 1.00 1

4.6 PessoasTI

Capacidade em gestão de pessoal de TI

pratica_PessoasTI = data.frame(iten4121 = dados$`4121`,
                          iten4122 = dados$`4122`,
                          iten4123 = dados$`4123`,
                          iten4123 = dados$`4131`,
                          iten4151 = dados$`4151`,
                          iten4172 = dados$`4172`)


pesosPessoasTI = extrator_de_pesos(pratica_PessoasTI)

# verificando se os pesos estao corretos:
matrix(c(dados$`4121`,dados$`4122`, dados$`4123`, dados$`4131`,
         dados$`4151`, dados$`4172`), 378,
       length(pesosPessoasTI)) %*% 
  matrix(pesosPessoasTI, length(pesosPessoasTI), 1) -> nota_PessoasTI

#data.frame(nota_PessoasTI, dados$`PessoasTI`) %>% View

# tabela:
pesosPessoasTI %>% #round(6) %>%
  as.data.frame -> pesosPessoasTI

# adicionando a nota da ufersa
pesosPessoasTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4121`,
                `4122`,
                `4123`,
                `4131`,
                `4151`,
                `4172`) %>% t %>% round(3)

cbind(pesosPessoasTI,
      data.frame( 
                 maxi4121 = dados$`4121` %>% max,
                 maxi4122 = dados$`4122` %>% max,
                 maxi4123 = dados$`4123` %>% max,
                 maxi4131 = dados$`4131` %>% max,
                 maxi4151 = dados$`4151` %>% max,
                 maxi4172 = dados$`4172` %>% max) 
      %>% t) -> pesosPessoasTI


colnames(pesosPessoasTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosPessoasTI, caption="Pesos da pratica PessoasTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosPessoasTI$Nota_Ufersa == 
                   min(pesosPessoasTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica PessoasTI
Pesos Notas da Ufersa Nota maxima Geral
iten4121 0.208 0.757 1
iten4122 0.187 0.858 1
iten4123 0.146 0.000 1
iten4123.1 0.194 0.660 1
iten4151 0.151 1.000 1
iten4172 0.114 0.000 1

4.7 ProcessosTI

Capacidade em processos de TI

pratica_ProcessosTI = data.frame(iteniGestServicosTI = dados$iGestServicosTI,
                          iteniGestNiveisServicoTI = dados$iGestNiveisServicoTI,
                          iteniGestRiscosTI = dados$iGestRiscosTI,
                          iteniGestSegInfo = dados$iGestSegInfo,
                          itenProcessoSoftware = dados$ProcessoSoftware,
                          iteniGestProjetosTI = dados$iGestProjetosTI,
                          iteniGestContratosTI = dados$iGestContratosTI)


pesosProcessosTI = extrator_de_pesos(pratica_ProcessosTI)

# verificando se os pesos estao corretos:
matrix(c(dados$iGestServicosTI,
         dados$iGestNiveisServicoTI,
         dados$iGestRiscosTI,
         dados$iGestSegInfo,
         dados$ProcessoSoftware,
         dados$iGestProjetosTI,
         dados$iGestContratosTI), 378,
       length(pesosProcessosTI)) %*% 
  matrix(pesosProcessosTI, length(pesosProcessosTI), 1) -> nota_ProcessosTI

#data.frame(nota_ProcessosTI, dados$`ProcessosTI`) %>% View

# tabela:
pesosProcessosTI %>% #round(6) %>%
  as.data.frame -> pesosProcessosTI

# adicionando a nota da ufersa
pesosProcessosTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(iGestServicosTI,
                iGestNiveisServicoTI,
                iGestRiscosTI,
                iGestSegInfo,
                ProcessoSoftware,
                iGestProjetosTI,
                iGestContratosTI) %>% t %>% round(3)

cbind(pesosProcessosTI,
      data.frame( maxiiGestServicosTI = dados$iGestServicosTI %>% max,
                  maxiiGestNiveisServicoTI = dados$iGestNiveisServicoTI %>% max,
                  maxiiGestRiscosTI = dados$iGestRiscosTI %>% max,
                  maxiiGestSegInfo = dados$iGestSegInfo %>% max,
                  maxiProcessoSoftware = dados$ProcessoSoftware %>% max,
                  maxiiGestProjetosTI = dados$iGestProjetosTI %>% max,
                  maxiiGestContratosTI = dados$iGestContratosTI %>% max) 
      %>% t) -> pesosProcessosTI


colnames(pesosProcessosTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosProcessosTI, caption="Pesos da pratica ProcessosTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosProcessosTI$Nota_Ufersa == 
                   min(pesosProcessosTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica ProcessosTI
Pesos Notas da Ufersa Nota maxima Geral
iteniGestServicosTI 0.171 0.471 1
iteniGestNiveisServicoTI 0.114 1.000 1
iteniGestRiscosTI 0.147 0.182 1
iteniGestSegInfo 0.226 0.249 1
itenProcessoSoftware 0.118 0.150 1
iteniGestProjetosTI 0.118 0.150 1
iteniGestContratosTI 0.107 0.707 1

4.8 PlanejamentoTI

Capacidade em realizar planejamento de TI

pratica_PlanejamentoTI = data.frame(iten4211 = dados$`4211`,
                               iten4212 = dados$`4212`)


pesosPlanejamentoTI = extrator_de_pesos(pratica_PlanejamentoTI)

# verificando se os pesos estao corretos:
matrix(c(dados$`4211`,dados$`4212`), 378,
       length(pesosPlanejamentoTI)) %*% 
  matrix(pesosPlanejamentoTI, length(pesosPlanejamentoTI), 1) -> nota_PlanejamentoTI

#data.frame(nota_PlanejamentoTI, dados$`PlanejamentoTI`) %>% View

# tabela:
pesosPlanejamentoTI %>% #round(6) %>%
  as.data.frame -> pesosPlanejamentoTI

# adicionando a nota da ufersa
pesosPlanejamentoTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4211`,
                `4212`) %>% t %>% round(3)

cbind(pesosPlanejamentoTI,
      data.frame( maxi4211 = dados$`4211` %>% max,
                  maxi4212 = dados$`4212` %>% max) 
      %>% t) -> pesosPlanejamentoTI


colnames(pesosPlanejamentoTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosPlanejamentoTI, caption="Pesos da pratica PlanejamentoTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosPlanejamentoTI$Nota_Ufersa == 
                   min(pesosPlanejamentoTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica PlanejamentoTI
Pesos Notas da Ufersa Nota maxima Geral
iten4211 0.515 0.383 1
iten4212 0.485 1.000 1

4.9 iGestServicosTI

Capacidade em Gerir Serviços de TI

pratica_iGestServicosTI = data.frame(iten4221 = dados$`4221`,
                                     iten4222 = dados$`4222`,
                                     iten4223 = dados$`4223`,
                                     iten4224 = dados$`4224`)


pesosiGestServicosTI = extrator_de_pesos(pratica_iGestServicosTI)

# verificando se os pesos estao corretos:
matrix(c(dados$`4221`,dados$`4222`,dados$`4223`,dados$`4224`), 378,
       length(pesosiGestServicosTI)) %*% 
  matrix(pesosiGestServicosTI, length(pesosiGestServicosTI), 1) -> nota_iGestServicosTI

#data.frame(nota_iGestServicosTI, dados$`iGestServicosTI`) %>% View

# tabela:
pesosiGestServicosTI %>% #round(6) %>%
  as.data.frame -> pesosiGestServicosTI

# adicionando a nota da ufersa
pesosiGestServicosTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4221`,
                `4222`,
                `4223`,
                `4224`) %>% t %>% round(3)

cbind(pesosiGestServicosTI,
      data.frame(maxi4221 = dados$`4221` %>% max,
                 maxi4222 = dados$`4222` %>% max,
                 maxi4223 = dados$`4223` %>% max,
                 maxi4224 = dados$`4224` %>% max) 
      %>% t) -> pesosiGestServicosTI


colnames(pesosiGestServicosTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGestServicosTI, caption="Pesos da pratica iGestServicosTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGestServicosTI$Nota_Ufersa == 
                   min(pesosiGestServicosTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGestServicosTI
Pesos Notas da Ufersa Nota maxima Geral
iten4221 0.212 1.000 1
iten4222 0.261 0.369 1
iten4223 0.275 0.325 1
iten4224 0.252 0.290 1

4.10 iGestNiveisServicoTI

Capacidade em gerir nível de serviço de TI

4.11 iGestRiscosTI

Capacidade em gerir riscos de TI

pratica_iGestRiscosTI = data.frame(iten4241 =   dados$`4241`,
                                     iten4242 = dados$`4242`,
                                     iten2111 = dados$`2111`,
                                     iten2113 = dados$`2113`,
                                     iten2114 = dados$`2114`,
                                     iten2115 = dados$`2115`)


pesosiGestRiscosTI = extrator_de_pesos(pratica_iGestRiscosTI)

# tabela:
pesosiGestRiscosTI %>% #round(6) %>%
  as.data.frame -> pesosiGestRiscosTI

# adicionando a nota da ufersa
pesosiGestRiscosTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4241`,
                `4242`,
                `2111`,
                `2113`,
                `2114`,
                `2115`) %>% t %>% round(3)


cbind(pesosiGestRiscosTI,
      data.frame(maxi4241 = dados$`4241` %>% max,
                 maxi4242 = dados$`4242` %>% max,
                 maxi2111 = dados$`2111` %>% max,
                 maxi2113 = dados$`2113` %>% max,
                 maxi2114 = dados$`2114` %>% max,
                 maxi2115 = dados$`2115` %>% max) 
      %>% t) -> pesosiGestRiscosTI


colnames(pesosiGestRiscosTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGestRiscosTI, caption="Pesos da pratica iGestRiscosTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGestRiscosTI$Nota_Ufersa == 
                   min(pesosiGestRiscosTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGestRiscosTI
Pesos Notas da Ufersa Nota maxima Geral
iten4241 0.167 0.15 1
iten4242 0.175 0.15 1
iten2111 0.163 0.35 1
iten2113 0.176 0.15 1
iten2114 0.168 0.05 1
iten2115 0.151 0.00 1

4.12 EstruturaSegInfo

Capacidade em definir políticas de responsabilidades para a gestão da TI

pratica_EstruturaSegInfo = data.frame(iten4221 = dados$`4251`,
                                     iten4222 = dados$`4252`,
                                     iten4223 = dados$`4253`)


pesosEstruturaSegInfo = extrator_de_pesos(pratica_EstruturaSegInfo)

# verificando se os pesos estao corretos:
matrix(c(dados$`4251`,dados$`4252`,dados$`4253`), 378,
       length(pesosEstruturaSegInfo)) %*% 
  matrix(pesosEstruturaSegInfo, length(pesosEstruturaSegInfo), 1) -> 
  nota_EstruturaSegInfo

#data.frame(nota_EstruturaSegInfo, dados$`EstruturaSegInfo`) %>% View

# tabela:
pesosEstruturaSegInfo %>% #round(6) %>%
  as.data.frame -> pesosEstruturaSegInfo

# adicionando a nota da ufersa
pesosEstruturaSegInfo$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4251`,
                `4252`,
                `2153`) %>% t %>% round(3)


cbind(pesosEstruturaSegInfo,
      data.frame(maxi4251 = dados$`4251` %>% max,
                 maxi4252 = dados$`4252` %>% max,
                 maxi4253 = dados$`4253` %>% max) 
      %>% t) -> pesosEstruturaSegInfo


colnames(pesosEstruturaSegInfo) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosEstruturaSegInfo, caption="Pesos da pratica EstruturaSegInfo",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosEstruturaSegInfo$Nota_Ufersa == 
                   min(pesosEstruturaSegInfo$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica EstruturaSegInfo
Pesos Notas da Ufersa Nota maxima Geral
iten4221 0.369 0.83 1
iten4222 0.296 1.00 1
iten4223 0.335 0.15 1

4.13 ProcessoSegInfo

Capacidade em estabelecer processos e atividades para a gestão da TI

pratica_ProcessoSegInfo = data.frame(iten4261 = dados$`4261`,
                                     iten4262 = dados$`4262`,
                                     iten4263 = dados$`4263`,
                                     iten4264 = dados$`4264`,
                                     iten4265 = dados$`4265`,
                                     iten4266 = dados$`4266`)


pesosProcessoSegInfo = extrator_de_pesos(pratica_ProcessoSegInfo)

# verificando se os pesos estao corretos:
matrix(c(dados$`4261`, dados$`4262`, dados$`4263`,
         dados$`4264`, dados$`4265`, dados$`4266`), 378,
       length(pesosProcessoSegInfo)) %*% 
  matrix(pesosProcessoSegInfo, length(pesosProcessoSegInfo), 1) -> 
  nota_ProcessoSegInfo

#data.frame(nota_ProcessoSegInfo, dados$`ProcessoSegInfo`) %>% View

# tabela:
pesosProcessoSegInfo %>% #round(6) %>%
  as.data.frame -> pesosProcessoSegInfo

# adicionando a nota da ufersa
pesosProcessoSegInfo$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4261`,
                `4262`,
                `4263`,
                `4264`,
                `4265`,
                `4266`) %>% t %>% round(3)


cbind(pesosProcessoSegInfo,
      data.frame(maxi4261 = dados$`4261` %>% max,
                 maxi4262 = dados$`4262` %>% max,
                 maxi4263 = dados$`4263` %>% max,
                 maxi4264 = dados$`4264` %>% max,
                 maxi4265 = dados$`4265` %>% max,
                 maxi4266 = dados$`4266` %>% max) 
      %>% t) -> pesosProcessoSegInfo


colnames(pesosProcessoSegInfo) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosProcessoSegInfo, caption="Pesos da pratica ProcessoSegInfo",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosProcessoSegInfo$Nota_Ufersa == 
                   min(pesosProcessoSegInfo$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica ProcessoSegInfo
Pesos Notas da Ufersa Nota maxima Geral
iten4261 0.164 0.290 1
iten4262 0.188 0.325 1
iten4263 0.185 0.150 1
iten4264 0.154 0.150 1
iten4265 0.163 0.383 1
iten4266 0.145 0.150 1

4.14 MonitorAvaliaTI

Capacidade em monitorar o desempenho da gestão de TI

pratica_MonitorAvaliaTI = data.frame(iten2153 = dados$`2153`,
                                     iten3142D = dados$`3142D`,
                                     iten3142E = dados$`3142E`)


pesosMonitorAvaliaTI = extrator_de_pesos(pratica_MonitorAvaliaTI)

# verificando se os pesos estao corretos:
matrix(c(dados$`2153`, dados$`3142D`, dados$`3142E`), 378,
       length(pesosMonitorAvaliaTI)) %*% 
  matrix(pesosMonitorAvaliaTI, length(pesosMonitorAvaliaTI), 1) -> 
  nota_MonitorAvaliaTI

#data.frame(nota_MonitorAvaliaTI, dados$`MonitorAvaliaTI`) %>% View

# tabela:
pesosMonitorAvaliaTI %>% #round(6) %>%
  as.data.frame -> pesosMonitorAvaliaTI

# adicionando a nota da ufersa
pesosMonitorAvaliaTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2153`,
                `3142D`,
                `3142E`) %>% t %>% round(3)


cbind(pesosMonitorAvaliaTI,
      data.frame(maxi2153 = dados$`2153` %>% max,
                 maxi3142D = dados$`3142D` %>% max,
                 maxi3142E = dados$`3142E` %>% max) 
      %>% t) -> pesosMonitorAvaliaTI


colnames(pesosMonitorAvaliaTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosMonitorAvaliaTI, caption="Pesos da pratica MonitorAvaliaTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosMonitorAvaliaTI$Nota_Ufersa == 
                   min(pesosMonitorAvaliaTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica MonitorAvaliaTI
Pesos Notas da Ufersa Nota maxima Geral
iten2153 0.280 0.15 1
iten3142D 0.354 0.00 1
iten3142E 0.366 0.00 1

4.15 ResultadoTI

Capacidade em prestar serviços públicos com qualidade

pratica_ResultadoTI = data.frame(iten2123 = dados$`2123`,
                                 iten3132 = dados$`3132`,
                                 iten3133 = dados$`3133`)


pesosResultadoTI = extrator_de_pesos(pratica_ResultadoTI)

# verificando se os pesos estao corretos:
matrix(c(dados$`2123`, dados$`3132`, dados$`3133`), 378,
       length(pesosResultadoTI)) %*% 
  matrix(pesosResultadoTI, length(pesosResultadoTI), 1) -> nota_ResultadoTI

#data.frame(nota_ResultadoTI, dados$`ResultadoTI`) %>% View

# tabela:
pesosResultadoTI %>% #round(6) %>%
  as.data.frame -> pesosResultadoTI

# adicionando a nota da ufersa
pesosResultadoTI$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2123`,
                `3132`,
                `3133`) %>% t %>% round(3)


cbind(pesosResultadoTI,
      data.frame(maxi2123 = dados$`2123` %>% max,
                 maxi3132 = dados$`3132` %>% max,
                 maxi3133 = dados$`3133` %>% max) 
      %>% t) -> pesosResultadoTI


colnames(pesosResultadoTI) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosResultadoTI, caption="Pesos da pratica ResultadoTI",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosResultadoTI$Nota_Ufersa == 
                   min(pesosResultadoTI$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica ResultadoTI
Pesos Notas da Ufersa Nota maxima Geral
iten2123 0.351 0.15 1
iten3132 0.322 0.32 1
iten3133 0.327 0.15 1

5 Governança e Gestão de Contratações

5.1 iGovContrat

Índice de Governança e Gestão de Contratações

pratica_iGovContrat = data.frame(itenGovernancaContrat = dados$GovernancaContrat,
                                 iteniGestContrat = dados$iGestContrat)


pesosiGovContrat = extrator_de_pesos(pratica_iGovContrat)

# verificando se os pesos estao corretos:
matrix(c(dados$GovernancaContrat, dados$iGestContrat), 378,
       length(pesosiGovContrat)) %*% 
  matrix(pesosiGovContrat, length(pesosiGovContrat), 1) -> nota_iGovContrat

#data.frame(nota_iGovContrat, dados$iGovContrat) %>% View

# tabela:
pesosiGovContrat %>% #round(6) %>%
  as.data.frame -> pesosiGovContrat

# adicionando a nota da ufersa
pesosiGovContrat$nota_ufersa = results_ufersa %>% 
  dplyr::select(GovernancaContrat,
                iGestContrat) %>% t %>% round(3)


cbind(pesosiGovContrat,
      data.frame(maxiGovernancaContrat = dados$GovernancaContrat %>% max,
                 maxiiGestContrat = dados$iGestContrat %>% max) 
      %>% t) -> pesosiGovContrat


colnames(pesosiGovContrat) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGovContrat, caption="Pesos da pratica iGovContrat",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGovContrat$Nota_Ufersa == 
                   min(pesosiGovContrat$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGovContrat
Pesos Notas da Ufersa Nota maxima Geral
itenGovernancaContrat 0.381 0.345 1.000
iteniGestContrat 0.619 0.772 0.993

5.2 GovernancaContrat

Índice de Governança de Contratações

pratica_GovernancaContrat = data.frame(itenGovernancaContrat = dados$`2134`,
                                 iteniGestContrat = dados$`2154`)

pesosGovernancaContrat = extrator_de_pesos(pratica_GovernancaContrat)

# verificando se os pesos estao corretos:
matrix(c(dados$`2134`, dados$`2154`), 378,
       length(pesosGovernancaContrat)) %*% 
  matrix(pesosGovernancaContrat, length(pesosGovernancaContrat), 1) -> nota_GovernancaContrat

#data.frame(nota_GovernancaContrat, dados$GovernancaContrat) %>% View

# tabela:
pesosGovernancaContrat %>% #round(6) %>%
  as.data.frame -> pesosGovernancaContrat

# adicionando a nota da ufersa
pesosGovernancaContrat$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2134`,
                `2154`) %>% t %>% round(3)


cbind(pesosGovernancaContrat,
      data.frame(maxi2134 = dados$`2134` %>% max,
                 maxi2154 = dados$`2154` %>% max) 
      %>% t) -> pesosGovernancaContrat


colnames(pesosGovernancaContrat) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosGovernancaContrat, caption="Pesos da pratica GovernancaContrat",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosGovernancaContrat$Nota_Ufersa == 
                   min(pesosGovernancaContrat$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica GovernancaContrat
Pesos Notas da Ufersa Nota maxima Geral
itenGovernancaContrat 0.541 0.150 1
iteniGestContrat 0.459 0.575 1

5.3 iGestContrat

Índice de Gestão de Contratações

pratica_iGestContrat = data.frame(iteniGestContrat = dados$IntegrContrat,
                                  itenPessoas = dados$Pessoas,
                                  itenProcessos = dados$Processos,
                                  itenRiscoContr = dados$RiscoContr,
                                  itenGestContrat = dados$GestContrat,
                                  itenContratSustent = dados$ContratSustent)

pesosiGestContrat = extrator_de_pesos(pratica_iGestContrat)

# verificando se os pesos estao corretos:
matrix(c(dados$IntegrContrat, dados$Pessoas,
         dados$Processos, dados$RiscoContr, 
         dados$GestContrat,dados$ContratSustent), 378,
       length(pesosiGestContrat)) %*% 
  matrix(pesosiGestContrat, length(pesosiGestContrat), 1) -> nota_iGestContrat

#data.frame(nota_iGestContrat, dados$iGestContrat) %>% View

# tabela:
pesosiGestContrat %>% #round(6) %>%
  as.data.frame -> pesosiGestContrat


# adicionando a nota da ufersa
pesosiGestContrat$nota_ufersa = results_ufersa %>% 
  dplyr::select(IntegrContrat,
                Pessoas,
                Processos,
                RiscoContr,
                GestContrat,
                ContratSustent) %>% t %>% round(3)


cbind(pesosiGestContrat,
      data.frame(dados$IntegrContrat %>% max(),
                 dados$Pessoas %>% max(),
                 dados$Processos %>% max(),
                 dados$RiscoContr %>% max(),
                 dados$GestContrat %>% max(),
                 dados$ContratSustent %>% max()) 
      %>% t) -> pesosiGestContrat


colnames(pesosiGestContrat) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGestContrat, caption="Pesos da pratica iGestContrat",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGestContrat$Nota_Ufersa == 
                   min(pesosiGestContrat$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGestContrat
Pesos Notas da Ufersa Nota maxima Geral
iteniGestContrat 0.194 0.904 1
itenPessoas 0.186 0.569 1
itenProcessos 0.193 0.974 1
itenRiscoContr 0.158 0.213 1
itenGestContrat 0.160 1.000 1
itenContratSustent 0.109 1.000 1

5.4 IntegrContrat

Capacidade em promover a integridade nas contratações.

pratica_IntegrContrat = data.frame(iten4311 = dados$`4311`,
                                  iten4312 = dados$`4312`)

pesosIntegrContrat = extrator_de_pesos(pratica_IntegrContrat)

# verificando se os pesos estao corretos:
matrix(c(dados$`4311`, dados$`4312`), 378,
       length(pesosIntegrContrat)) %*% 
  matrix(pesosIntegrContrat, length(pesosIntegrContrat), 1) -> 
  nota_IntegrContrat

#data.frame(nota_IntegrContrat, dados$IntegrContrat) %>% View

# tabela:
pesosIntegrContrat %>% #round(6) %>%
  as.data.frame -> pesosIntegrContrat


# adicionando a nota da ufersa
pesosIntegrContrat$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4311`, `4312`) %>% t %>% round(3)


cbind(pesosIntegrContrat,
      data.frame(dados$`4311` %>% max(),
                 dados$`4312` %>% max()) 
      %>% t) -> pesosIntegrContrat


colnames(pesosIntegrContrat) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosIntegrContrat, caption="Pesos da pratica IntegrContrat",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosIntegrContrat$Nota_Ufersa == 
                   min(pesosIntegrContrat$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica IntegrContrat
Pesos Notas da Ufersa Nota maxima Geral
iten4311 0.438 1.00 1
iten4312 0.562 0.83 1

5.5 Pessoas

Capacidade em gestão de Pessoal de Contratações

pratica_Pessoas = data.frame(iten4321 = dados$`4321`,
                             iten4322 = dados$`4322`,
                             iten4323 = dados$`4323`)

pesosPessoas = extrator_de_pesos(pratica_Pessoas)

# verificando se os pesos estao corretos:
matrix(c(dados$`4321`, dados$`4322`, dados$`4323`), 378,
       length(pesosPessoas)) %*% 
  matrix(pesosPessoas, length(pesosPessoas), 1) -> nota_Pessoas

#data.frame(nota_Pessoas, dados$Pessoas) %>% View

# tabela:
pesosPessoas %>% #round(6) %>%
  as.data.frame -> pesosPessoas


# adicionando a nota da ufersa
pesosPessoas$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4321`, `4322`, `4323`) %>% t %>% round(3)


cbind(pesosPessoas,
      data.frame(dados$`4321` %>% max(),
                 dados$`4322` %>% max(),
                 dados$`4323` %>% max()) 
      %>% t) -> pesosPessoas


colnames(pesosPessoas) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosPessoas, caption="Pesos da pratica Pessoas",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosPessoas$Nota_Ufersa == 
                   min(pesosPessoas$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica Pessoas
Pesos Notas da Ufersa Nota maxima Geral
iten4321 0.339 0.660 1
iten4322 0.364 0.636 1
iten4323 0.296 0.383 1

5.6 Processos

Capacidade em processos de Contratações

pratica_Processos = data.frame(iten4331 = dados$`4331`,
                               iten4341 = dados$`4341`,
                               iten4342 = dados$`4342`,
                               iten4343 = dados$`4343`)

pesosProcessos = extrator_de_pesos(pratica_Processos)

# verificando se os pesos estao corretos:
matrix(c(dados$`4331`, dados$`4341`, dados$`4342`, dados$`4343`), 378,
       length(pesosProcessos)) %*% 
  matrix(pesosProcessos, length(pesosProcessos), 1) -> nota_Processos

#data.frame(nota_Processos, dados$Processos) %>% View

# tabela:
pesosProcessos %>% #round(6) %>%
  as.data.frame -> pesosProcessos


# adicionando a nota da ufersa
pesosProcessos$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4331`, `4341`, `4342`, `4343`) %>% t %>% round(3)


cbind(pesosProcessos,
      data.frame(dados$`4331` %>% max(),
                 dados$`4341` %>% max(),
                 dados$`4342` %>% max(),
                 dados$`4343` %>% max()) %>% t) -> pesosProcessos


colnames(pesosProcessos) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosProcessos, caption="Pesos da pratica Processos",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosProcessos$Nota_Ufersa == 
                   min(pesosProcessos$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica Processos
Pesos Notas da Ufersa Nota maxima Geral
iten4331 0.156 0.83 1
iten4341 0.292 1.00 1
iten4342 0.263 1.00 1
iten4343 0.290 1.00 1

5.7 RiscoContr

Capacidades em gestão de riscos das contratações

pratica_RiscoContrat = data.frame(iten4351 = dados$`4351`,
                                  iten4352 = dados$`4352`,
                                  iten2111 = dados$`2111`,
                                  iten2112 = dados$`2112`,
                                  iten2113 = dados$`2113`,
                                  iten2114 = dados$`2114`,
                                  iten2115 = dados$`2115`)

pesosRiscoContrat = extrator_de_pesos(pratica_RiscoContrat)

# verificando se os pesos estao corretos:
matrix(c(dados$`4351`, dados$`4352`, dados$`2111`, dados$`2112`,
         dados$`2113`, dados$`2114`, dados$`2115`), 378,
       length(pesosRiscoContrat)) %*% 
  matrix(pesosRiscoContrat, length(pesosRiscoContrat), 1) -> nota_RiscoContrat

#data.frame(nota_RiscoContrat, dados$RiscoContr) %>% View

# tabela:
pesosRiscoContrat %>% #round(6) %>%
  as.data.frame -> pesosRiscoContrat


# adicionando a nota da ufersa
pesosRiscoContrat$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4351`,
                `4352`,
                `2111`,
                `2112`,
                `2113`,
                `2114`,
                `2115`) %>% t %>% round(3)


cbind(pesosRiscoContrat,
      data.frame(maxi4351 = dados$`4351` %>% max,
                 maxi4352 = dados$`4352` %>% max,
                 maxi2111 = dados$`2111` %>% max,
                 maxi2112 = dados$`2112` %>% max,
                 maxi2113 = dados$`2113` %>% max,
                 maxi2114 = dados$`2114` %>% max,
                 maxi2115 = dados$`2115` %>% max) %>% t) -> pesosRiscoContrat


colnames(pesosRiscoContrat) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosRiscoContrat, caption="Pesos da pratica RiscoContrat",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosRiscoContrat$Nota_Ufersa == 
                   min(pesosRiscoContrat$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica RiscoContrat
Pesos Notas da Ufersa Nota maxima Geral
iten4351 0.125 0.35 1
iten4352 0.118 0.15 1
iten2111 0.164 0.35 1
iten2112 0.153 0.40 1
iten2113 0.168 0.15 1
iten2114 0.153 0.05 1
iten2115 0.118 0.00 1

5.8 GestContrat

Capacidade em contratar e gerir com base em desempenho

pratica_GestContrat = data.frame(iten4361 = dados$`4361`,
                                  iten4362 = dados$`4362`)

pesosGestContrat = extrator_de_pesos(pratica_GestContrat)

# verificando se os pesos estao corretos:
matrix(c(dados$`4361`, dados$`4362`), 378,
       length(pesosGestContrat)) %*% 
  matrix(pesosGestContrat, length(pesosGestContrat), 1) -> nota_GestContrat

#data.frame(nota_GestContrat, dados$GestContrat) %>% View

# tabela:
pesosGestContrat %>% #round(6) %>%
  as.data.frame -> pesosGestContrat


# adicionando a nota da ufersa
pesosGestContrat$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4361`,
                `4362`) %>% t %>% round(3)


cbind(pesosGestContrat,
      data.frame(maxi4361 = dados$`4361` %>% max,
                 maxi4362 = dados$`4362` %>% max) %>% t) -> pesosGestContrat


colnames(pesosGestContrat) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosGestContrat, caption="Pesos da pratica GestContrat",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosGestContrat$Nota_Ufersa == 
                   min(pesosGestContrat$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica GestContrat
Pesos Notas da Ufersa Nota maxima Geral
iten4361 0.415 1 1
iten4362 0.585 1 1

5.9 ContratSustent

Capacidade em realizar contratações sustentáveis

6 Governança e Gestão Orçamentárias

6.1 iGovOrcament

Índice de governança e gestão orçamentárias

pratica_iGovOrcament = data.frame(
  itenGovernancaOrcament = dados$GovernancaOrcament,
  iteniGestOrcament = dados$iGestOrcament)

pesosiGovOrcament = extrator_de_pesos(pratica_iGovOrcament)

# verificando se os pesos estao corretos:
matrix(c(dados$GovernancaOrcament, dados$iGestOrcament), 378,
       length(pesosiGovOrcament)) %*% 
  matrix(pesosiGovOrcament, length(pesosiGovOrcament), 1) -> nota_iGovOrcament

#data.frame(nota_iGovOrcament, dados$iGovOrcament) %>% View

# tabela:
pesosiGovOrcament %>% #round(6) %>%
  as.data.frame -> pesosiGovOrcament


# adicionando a nota da ufersa
pesosiGovOrcament$nota_ufersa = results_ufersa %>% 
  dplyr::select(GovernancaOrcament, 
                iGestOrcament) %>% t %>% round(3)


cbind(pesosiGovOrcament,
      data.frame(maxiitenGovernancaOrcament = dados$GovernancaOrcament %>% max,
                 maxiiteniGestOrcament = dados$iGestOrcament %>% max) %>% t) -> pesosiGovOrcament


colnames(pesosiGovOrcament) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGovOrcament, caption="Pesos da pratica iGovOrcament",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGovOrcament$Nota_Ufersa == 
                   min(pesosiGovOrcament$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGovOrcament
Pesos Notas da Ufersa Nota maxima Geral
itenGovernancaOrcament 0.412 0.000 1
iteniGestOrcament 0.588 0.175 1

6.2 GovernancaOrcament

Índice de governança orçamentária

pratica_GovernancaOrcament = data.frame(iten2135 = dados$`2135`,
                                        iten2155 = dados$`2155`)

pesosGovernancaOrcament = extrator_de_pesos(pratica_GovernancaOrcament)

# verificando se os pesos estao corretos:
matrix(c(dados$`2135`, dados$`2155`), 378,
       length(pesosGovernancaOrcament)) %*% 
  matrix(pesosGovernancaOrcament, length(pesosGovernancaOrcament), 1) -> 
  nota_GovernancaOrcament

#data.frame(nota_GovernancaOrcament, dados$GovernancaOrcament) %>% View

# tabela:
pesosGovernancaOrcament %>% #round(6) %>%
  as.data.frame -> pesosGovernancaOrcament


# adicionando a nota da ufersa
pesosGovernancaOrcament$nota_ufersa = results_ufersa %>% 
  dplyr::select(`2135`, 
                `2155`) %>% t %>% round(3)


cbind(pesosGovernancaOrcament,
      data.frame(maxi2135 = dados$`2135` %>% max,
                 maxi2155 = dados$`2155` %>% max) %>% t) -> pesosGovernancaOrcament


colnames(pesosGovernancaOrcament) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosGovernancaOrcament, caption="Pesos da pratica GovernancaOrcament",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosGovernancaOrcament$Nota_Ufersa == 
                   min(pesosGovernancaOrcament$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica GovernancaOrcament
Pesos Notas da Ufersa Nota maxima Geral
iten2135 0.521 0 1
iten2155 0.479 0 1

6.3 iGestOrcament

Índice de gestão orçamentária

pratica_iGestOrcament = data.frame(iten4410 = dados$`4410`,
                                   iten4420 = dados$`4420`)

pesosiGestOrcament = extrator_de_pesos(pratica_iGestOrcament)

# verificando se os pesos estao corretos:
matrix(c(dados$`4410`, dados$`4420`), 378,
       length(pesosiGestOrcament)) %*% 
  matrix(pesosiGestOrcament, length(pesosiGestOrcament), 1) -> 
  nota_iGestOrcament

#data.frame(nota_iGestOrcament, dados$iGestOrcament) %>% View

# tabela:
pesosiGestOrcament %>% #round(6) %>%
  as.data.frame -> pesosiGestOrcament


# adicionando a nota da ufersa
pesosiGestOrcament$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4410`, 
                `4420`) %>% t %>% round(3)


cbind(pesosiGestOrcament,
      data.frame(maxi4410 = dados$`4410` %>% max,
                 maxi4420 = dados$`4420` %>% max) %>% t) -> pesosiGestOrcament


colnames(pesosiGestOrcament) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesosiGestOrcament, caption="Pesos da pratica iGestOrcament",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesosiGestOrcament$Nota_Ufersa == 
                   min(pesosiGestOrcament$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica iGestOrcament
Pesos Notas da Ufersa Nota maxima Geral
iten4410 0.509 0.216 1
iten4420 0.491 0.133 1

6.4 4410

pratica_4410 = data.frame(iten4411 = dados$`4411`,
                          iten4412 = dados$`4412`,
                          iten4413 = dados$`4413`,
                          iten4414 = dados$`4414`,
                          iten4415 = dados$`4415`)

pesos4410 = extrator_de_pesos(pratica_4410)

# verificando se os pesos estao corretos:
matrix(c(dados$`4411`, dados$`4412`, dados$`4413`, 
         dados$`4414`, dados$`4415`), 378,
       length(pesos4410)) %*% 
  matrix(pesos4410, length(pesos4410), 1) -> nota_4410

#data.frame(nota_4410, dados$`4410`) %>% View

# tabela:
pesos4410 %>% #round(6) %>%
  as.data.frame -> pesos4410


# adicionando a nota da ufersa
pesos4410$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4411`,
                `4412`,
                `4413`,
                `4414`,
                `4415`) %>% t %>% round(3)


cbind(pesos4410,
      data.frame(maxi4410 = dados$`4411` %>% max,
                 maxi4420 = dados$`4412` %>% max,
                 maxi4413 = dados$`4413` %>% max,
                 maxi4414 = dados$`4414` %>% max,
                 maxi4415 = dados$`4415` %>% max) %>% t) -> pesos4410


colnames(pesos4410) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4410, caption="Pesos da pratica 4410",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4410$Nota_Ufersa == 
                   min(pesos4410$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4410
Pesos Notas da Ufersa Nota maxima Geral
iten4411 0.204 0.717 1
iten4412 0.178 0.000 1
iten4413 0.212 0.150 1
iten4414 0.227 0.050 1
iten4415 0.179 0.150 1

6.5 4420

pratica_4420 = data.frame(iten4421 = dados$`4421`,
                          iten4422 = dados$`4422`,
                          iten4423 = dados$`4423`)

pesos4420 = extrator_de_pesos(pratica_4420)

# verificando se os pesos estao corretos:
matrix(c(dados$`4421`, dados$`4422`, dados$`4423`), 378,
       length(pesos4420)) %*% 
  matrix(pesos4420, length(pesos4420), 1) -> nota_4420

#data.frame(nota_4420, dados$`4420`) %>% View

# tabela:
pesos4420 %>% #round(6) %>%
  as.data.frame -> pesos4420


# adicionando a nota da ufersa
pesos4420$nota_ufersa = results_ufersa %>% 
  dplyr::select(`4421`,
                `4422`,
                `4423`) %>% t %>% round(3)


cbind(pesos4420,
      data.frame(maxi4420 = dados$`4421` %>% max,
                 maxi4420 = dados$`4422` %>% max,
                 maxi4413 = dados$`4423` %>% max) %>% t) -> pesos4420


colnames(pesos4420) = c("Peso", "Nota_Ufersa", "Nota_maxima")

kable(pesos4420, caption="Pesos da pratica 4420",
      col.names = c("Pesos", "Notas da Ufersa", "Nota maxima Geral"),
      digits=3) %>%
  kable_styling() %>%
  row_spec(which(pesos4420$Nota_Ufersa == 
                   min(pesos4420$Nota_Ufersa)), 
           bold = T, color = "white", background = "red")
Pesos da pratica 4420
Pesos Notas da Ufersa Nota maxima Geral
iten4421 0.368 0.22 1
iten4422 0.344 0.15 1
iten4423 0.287 0.00 1