Club R - Libreria Kable

Luis Grau 05 de Septiembre de 2020

 

Libreria Kable

Si bien muchas veces los gráficos son parte relevante de nuestras presentaciones o informes, las tablas son muy utilizadas para informes de Recursos Humanos porque nos permiten mostrar un “lote” de información.

El problema de las tablas es que si no son bien trabajadas, pueden ser muy aburridas y cansar al lector, por tanto hacerlas más dinámicas y funcionales es un objetivo primoridial.

Kable nos da la posibilidad de obtener tablas en formato html y configurar variados aspectos.

A continuación veremos un ejemplo práctico de como maniupular datos y obtener una tabla.

 

Cargando librerias y funciones para porcentajes

library(readxl)
library(dplyr)
library(tidyverse)
library(tidyr)
library(knitr)
library(kableExtra)


#definiendo formatos de porcentajes
porcentaje1 <- function(x, digits = 1, format = "f",decimal.mark = ",", ...) {
  paste0(formatC(100 * x, format = format, digits = digits,decimal.mark = decimal.mark, ...), "%")
}
porcentaje2 <- function(x, digits = 2, format = "f",decimal.mark = ",", ...) {
  paste0(formatC(100 * x, format = format, digits = digits,decimal.mark = decimal.mark, ...), "%")
}

 

Cargando nuestros datos

clima <- read_excel("G:/Mi unidad/Conocimientos HR Analytics/Club R/clima_resultados.xlsx", sheet = "dataset_clima")
head(clima)
## # A tibble: 6 x 7
##   `ID TRABAJADOR` `Nivel Estructu~ `Nivel Estructu~ fecha                sa01
##             <dbl> <chr>            <chr>            <dttm>              <dbl>
## 1     26907839706 Gerencia A01     SubGerencia B80  2019-10-01 00:00:00     0
## 2    208613444615 Gerencia A12     SubGerencia B88  2019-10-02 00:00:00     0
## 3     22517751709 Gerencia A01     SubGerencia B20  2019-10-02 00:00:00     0
## 4     23618824456 Gerencia A14     SubGerencia B09  2019-10-02 00:00:00     0
## 5     26217892695 Gerencia A01     SubGerencia B14  2019-10-02 00:00:00     0
## 6      3178552727 Gerencia A01     SubGerencia B59  2019-10-02 00:00:00     0
## # ... with 2 more variables: cd01 <dbl>, re01 <dbl>

 

Trabajando las tablas (1)

# agregando columna con los niveles 1 y 2
clima2 = unite(clima, `Nivel 1 y 2`,c(`Nivel Estructura 1`,`Nivel Estructura 2`),  sep = " > ", remove = FALSE)

# creando una tabla solo con el nivel 1
tabla_ne1 = clima2 %>%
  group_by(`Nivel Estructura 1`) %>%
  summarise(ncasos = n(),satisfaccion = mean(sa01))
tabla_ne1 = rename(tabla_ne1,`Segmento Organizacional` = `Nivel Estructura 1`)

# creando una tabla con los niveles 1 y 2
tabla_ne2 = clima2 %>%
  group_by(`Nivel 1 y 2`) %>%
  summarise(ncasos = n(),satisfaccion = mean(sa01))
tabla_ne2 = rename(tabla_ne2,`Segmento Organizacional` = `Nivel 1 y 2`)

 

Trabajando las tablas (2)

# uniendo las tablas 
tabla_ne3 = bind_rows(tabla_ne1,tabla_ne2)
n_clima = nrow(clima)
tabla_ne3 = mutate(tabla_ne3, `Dotacion (%)` = `ncasos`/n_clima)
tabla_ne3 = rename(tabla_ne3,`Dotacion (n)` = `ncasos`,`Satisfacción` = `satisfaccion`)
tabla_ne3 = tabla_ne3[,c(1,2,4,3)]

# estableciendo filtros para no mostrar todos los datos
tabla_ne4 = filter(tabla_ne3,`Dotacion (n)`>=10,`Dotacion (%)`>= 0.01)

# ordenando de mayor a menor
tabla_ne4 = arrange(tabla_ne4, desc(Satisfacción))

# seleccionando los 10 primeros casos segun el criterio establecido anteriormente
tabla_ne4 = slice(tabla_ne4, 1:10)


promedio = mean(clima$sa01)

 

Trabajando las tablas (3)

# transformando a porcentajes
tabla_ne4 = mutate(tabla_ne4,`Dotacion (%)` = porcentaje1(`Dotacion (%)`),`Satisfacción` = porcentaje1(`Satisfacción`))

 

Kable

kable(tabla_ne4)
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#alineando las columnas con align
tabla_ne4 %>% 
kable(align=c('l','c','c','c'))
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#agregando un titulo a la tabla con caption
tabla_ne4 %>% 
kable(caption = "Satisfacción por segmento organizacional",align=c('l','c','c','c'))
Satisfacción por segmento organizacional
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#podemos renombrar las columnas con col.names
tabla_ne4 %>% 
kable(caption = "Satisfacción por segmento organizacional",align=c('l','c','c','c'),col.names = c("columna 1","columna 2","columna 3","columna 4"))
Satisfacción por segmento organizacional
columna 1 columna 2 columna 3 columna 4
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#podemos agregar el numero de fila con row.names
tabla_ne4 %>% 
kable(caption = "Satisfacción por segmento organizacional",align=c('l','c','c','c'),row.names = TRUE)
Satisfacción por segmento organizacional
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
1 Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
2 Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
3 Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
4 Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
5 Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
6 Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
7 Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
8 Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
9 Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
10 Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

# agregando el punto para los miles con fomat.args
tabla_ne4 %>% 
kable(caption = "Satisfacción por segmento organizacional",align=c('l','c','c','c'),format.args = list(big.mark = "."))
Satisfacción por segmento organizacional
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

# agregando la funcion kable_styling
# full_width: anchura completa (de tipo booleano: TRUE o FALSE)
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE)
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

# agregando la funcion kable_styling
# full_width: anchura completa (de tipo booleano: TRUE o FALSE)
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = FALSE)
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

# position: lugar que ocupa en el documento (opciones: left, center, right, float_left and float_right)
# float me sirve para situar texto al lado de la imagen
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = FALSE, position = "left")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#font_size: tamaño de la fuente (número entero)
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15)
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#opciones de bootstrap = stripped (interlineado)
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, bootstrap_options = c("striped"))
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#opciones de bootstrap = hover (efecto con el mouse)
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, bootstrap_options = c("hover"))
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#opciones de bootstrap = condensed (compacta)
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, bootstrap_options = c("condensed"))
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#opciones de bootstrap = podemos combinar las 3
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed"))
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#opciones de bootstrap = podemos combinar las 3
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed"))
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#poniendo la primera columna en italica
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, italic = T)
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#poniendo la primera columna en negrita
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T)
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#color de fondo de la primera columna
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#ancho de la primera columna
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#color de las letras de la columna
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em", color = "#183E87")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#también podemos poner condiciones a las filas
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em", color = "#183E87") %>% 
  row_spec(0, bold = T, color = "white", background = "#183E87")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#dejando fijos los titulos
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed"), fixed_thead = T) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em", color = "#183E87") %>% 
  row_spec(0, bold = T, color = "white", background = "#183E87")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#titulos en angulos
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em", color = "#183E87") %>% 
  row_spec(0, bold = T, color = "white", background = "#183E87", angle =-2)
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#poniendo titulos adicionales
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em", color = "#183E87") %>% 
  row_spec(0, bold = T, color = "white", background = "#183E87") %>% 
  add_header_above(c(" " = 1, "Grupo 1" = 2, "Grupo 2" = 1))
Grupo 1
Grupo 2
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#agrupando las filas con subtitulos
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em", color = "#183E87") %>% 
  row_spec(0, bold = T, color = "white", background = "#183E87") %>% 
  group_rows(index = c("Primer Grupo" = 3, "Segundo Grupo" = 4, "Tercer Grupo" = 3),label_row_css = "background-color: #F2F2F2; color: #979797;")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Primer Grupo
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Segundo Grupo
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Tercer Grupo
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%

 

#nota al pie de la tabla
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em", color = "#183E87") %>% 
  row_spec(0, bold = T, color = "white", background = "#183E87") %>% 
  group_rows(index = c("Primer Grupo" = 3, "Segundo Grupo" = 4, "Tercer Grupo" = 3),label_row_css = "background-color: #F2F2F2; color: #979797;") %>% 
    footnote(general = "Esta tabla representa la opinión de los trabajadores respecto de su lugar de trabajo")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Primer Grupo
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Segundo Grupo
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Tercer Grupo
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%
Note:
Esta tabla representa la opinión de los trabajadores respecto de su lugar de trabajo

 

#agregando un scroll
tabla_ne4 %>% 
kable(align=c('l','c','c','c'), format.args = list(big.mark = ".")) %>% 
  kable_styling(full_width = TRUE, position = "center", font_size = 15, c("striped","hover","condensed")) %>% 
  column_spec(1, bold = T, background= "#D1D5DD", width = "40em", color = "#183E87") %>% 
  row_spec(0, bold = T, color = "white", background = "#183E87") %>% 
  group_rows(index = c("Primer Grupo" = 3, "Segundo Grupo" = 4, "Tercer Grupo" = 3),label_row_css = "background-color: #F2F2F2; color: #979797;") %>% 
    scroll_box(width = "920px", height = "300px")
Segmento Organizacional Dotacion (n) Dotacion (%) Satisfacción
Primer Grupo
Gerencia A01 > SubGerencia B79 49 1,5% 87,8%
Gerencia A01 > SubGerencia B75 119 3,7% 80,7%
Gerencia A01 > SubGerencia B78 56 1,7% 80,4%
Segundo Grupo
Gerencia A01 > SubGerencia B76 49 1,5% 79,6%
Gerencia A01 > SubGerencia B94 56 1,7% 78,6%
Gerencia A01 > SubGerencia B01 75 2,3% 77,3%
Gerencia A01 > SubGerencia B58 82 2,5% 76,8%
Tercer Grupo
Gerencia A01 > SubGerencia B07 58 1,8% 75,9%
Gerencia A01 > SubGerencia B73 67 2,1% 74,6%
Gerencia A01 > SubGerencia B81 59 1,8% 74,6%