library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6     ✔ purrr   0.3.4
## ✔ tibble  3.1.7     ✔ dplyr   1.0.9
## ✔ tidyr   1.2.1     ✔ stringr 1.4.1
## ✔ readr   2.1.3     ✔ forcats 0.5.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(labelled)
library(haven)
library(questionr)
library(readxl)
library(expss)
## Le chargement a nécessité le package : maditr
## 
## To aggregate data: take(mtcars, mean_mpg = mean(mpg), by = am)
## 
## 
## Attachement du package : 'maditr'
## 
## Les objets suivants sont masqués depuis 'package:dplyr':
## 
##     between, coalesce, first, last
## 
## L'objet suivant est masqué depuis 'package:purrr':
## 
##     transpose
## 
## L'objet suivant est masqué depuis 'package:readr':
## 
##     cols
## 
## 
## Use 'expss_output_viewer()' to display tables in the RStudio Viewer.
##  To return to the console output, use 'expss_output_default()'.
## 
## 
## Attachement du package : 'expss'
## 
## L'objet suivant est masqué depuis 'package:questionr':
## 
##     prop
## 
## Les objets suivants sont masqués depuis 'package:haven':
## 
##     is.labelled, read_spss
## 
## L'objet suivant est masqué depuis 'package:labelled':
## 
##     is.labelled
## 
## Les objets suivants sont masqués depuis 'package:stringr':
## 
##     fixed, regex
## 
## Les objets suivants sont masqués depuis 'package:dplyr':
## 
##     compute, contains, na_if, recode, vars
## 
## Les objets suivants sont masqués depuis 'package:purrr':
## 
##     keep, modify, modify_if, when
## 
## Les objets suivants sont masqués depuis 'package:tidyr':
## 
##     contains, nest
## 
## L'objet suivant est masqué depuis 'package:ggplot2':
## 
##     vars
library(openxlsx)


# Chargement de la base des données
d <- read_excel("Base enfants 0-23 16 août 2022 ANJE.xlsx")
#View(d)

glimpse(d)
## Rows: 3,122
## Columns: 36
## $ Département                                                                                     <chr> …
## $ `district/Commune`                                                                              <chr> …
## $ `Milieu de résidence`                                                                           <chr> …
## $ Localité                                                                                        <chr> …
## $ `Numero corrigé`                                                                                <chr> …
## $ `Numéro du ménage`                                                                              <dbl> …
## $ ZD                                                                                              <dbl> …
## $ pondération                                                                                     <dbl> …
## $ `Nombre d'enfant`                                                                               <dbl> …
## $ iuud                                                                                            <chr> …
## $ `Code ZD`                                                                                       <chr> …
## $ `1002. Nom de l'enfant`                                                                         <chr> …
## $ Age                                                                                             <dbl> …
## $ `date debut enquete`                                                                            <dttm> …
## $ `1003. Quelle est la date de la naissance de ${K2}?`                                            <dttm> …
## $ `1004. Quelle est l'âge en mois de ${K2}?`                                                      <dbl> …
## $ `1005. Avez-vous allaité ${K2} après l'accouchement ?`                                          <chr> …
## $ `1006. Combien de temps après la naissance avez-vous mis ${K2} au sein pour la première fois ?` <chr> …
## $ `1007. Allaitez-vous encore ${K2}?`                                                             <chr> …
## $ `1007.1 ${K2} a-t-il reçu quelque chose au biberon hier pendant la journée ou la nuit?`         <chr> …
## $ `1007.2 Si non à 1007 pendant combien de mois avez vous allaité ${K2}`                          <dbl> …
## $ K13_1                                                                                           <chr> …
## $ K13_2                                                                                           <chr> …
## $ K13_2_1                                                                                         <dbl> …
## $ K13_3                                                                                           <chr> …
## $ K13_3_1                                                                                         <dbl> …
## $ K13_4                                                                                           <chr> …
## $ K13_5                                                                                           <chr> …
## $ K13_6                                                                                           <chr> …
## $ K13_7                                                                                           <dbl> …
## $ K13_8                                                                                           <chr> …
## $ K13_9                                                                                           <chr> …
## $ K13_10                                                                                          <chr> …
## $ `_index`                                                                                        <dbl> …
## $ `_parent_table_name`                                                                            <chr> …
## $ `_parent_index`                                                                                 <dbl> …
# Noms des variables

var_label(d$K13_1 )  <-  "1008.1 a-t-il bu hier dans la journée ou la nuit de l'Eau"
var_label(d$K13_2 )  <-  "1008.2 ${K2} a-t-il bu hier dans la journée ou la nuit le Lait artificiel pour pour bébé comme Nursi, Nativa, Guigoz ou autre ?"
var_label(d$K13_2_1 )  <-  "1008.2.1 Combien de fois a-t-il pris Lait artificiel pour pour bébé comme Nursi, Nativa, Guigoz ou autre hier pendant la journée ou la nuit?"
var_label(d$K13_3 )  <-  "1008.3 ${K2} a-t-il bu hier dans la journée ou la nuit tout autre lait comme lait en boite, en poudre, ou lait frais ?"
var_label(d$K13_3_1 )  <-  "1008.3.1 Combien de fois a-t-il pris Tout autre lait comme lait en boite, en poudre, ou lait frais?"
var_label(d$K13_4 )  <-  "1008.4 ${K2} a-t-il bu hier dans la journée ou la nuit le Jus de fruits? ?"
var_label(d$K13_5 )  <-  "1008.5 ${K2} a-t-il bu hier dans la journée ou la nuit le Bouillon clair ?"
var_label(d$K13_6 )  <-  "1008.6 ${K2} a-t-il bu hier dans la journée ou la nuit Yaourt ?"
var_label(d$K13_7 )  <-  "1008.7 Combien de fois a-t-il pris Yaourt?"
var_label(d$K13_8 )  <-  "1008.8 ${K2} a-t-il bu hier dans la journée ou la nuit le Bouillon dilué ?"
var_label(d$K13_9 )  <-  "1008.9 ${K2} a-t-il bu hier dans la journée ou la nuit le Café ou le thé ?"
var_label(d$K13_10 )  <-  "1008.10 ${K2} a-t-il bu hier dans la journée ou la nuit d'autres liquides (eau sucrée, boissons gazeuses ou decoction et autre liquide)?"

# Transformation des variables de type caractère en factor

d$K13_1  <-  to_factor(d$K13_1)
d$K13_2  <-  to_factor(d$K13_2)
d$K13_3  <-  to_factor(d$K13_3)
d$K13_4  <-  to_factor(d$K13_4)
d$K13_5  <-  to_factor(d$K13_5)
d$K13_6  <-  to_factor(d$K13_6)
d$K13_8  <-  to_factor(d$K13_8)
d$K13_9  <-  to_factor(d$K13_9)
d$K13_10 <-  to_factor(d$K13_10)

glimpse(d)
## Rows: 3,122
## Columns: 36
## $ Département                                                                                     <chr> …
## $ `district/Commune`                                                                              <chr> …
## $ `Milieu de résidence`                                                                           <chr> …
## $ Localité                                                                                        <chr> …
## $ `Numero corrigé`                                                                                <chr> …
## $ `Numéro du ménage`                                                                              <dbl> …
## $ ZD                                                                                              <dbl> …
## $ pondération                                                                                     <dbl> …
## $ `Nombre d'enfant`                                                                               <dbl> …
## $ iuud                                                                                            <chr> …
## $ `Code ZD`                                                                                       <chr> …
## $ `1002. Nom de l'enfant`                                                                         <chr> …
## $ Age                                                                                             <dbl> …
## $ `date debut enquete`                                                                            <dttm> …
## $ `1003. Quelle est la date de la naissance de ${K2}?`                                            <dttm> …
## $ `1004. Quelle est l'âge en mois de ${K2}?`                                                      <dbl> …
## $ `1005. Avez-vous allaité ${K2} après l'accouchement ?`                                          <chr> …
## $ `1006. Combien de temps après la naissance avez-vous mis ${K2} au sein pour la première fois ?` <chr> …
## $ `1007. Allaitez-vous encore ${K2}?`                                                             <chr> …
## $ `1007.1 ${K2} a-t-il reçu quelque chose au biberon hier pendant la journée ou la nuit?`         <chr> …
## $ `1007.2 Si non à 1007 pendant combien de mois avez vous allaité ${K2}`                          <dbl> …
## $ K13_1                                                                                           <fct> …
## $ K13_2                                                                                           <fct> …
## $ K13_2_1                                                                                         <dbl> …
## $ K13_3                                                                                           <fct> …
## $ K13_3_1                                                                                         <dbl> …
## $ K13_4                                                                                           <fct> …
## $ K13_5                                                                                           <fct> …
## $ K13_6                                                                                           <fct> …
## $ K13_7                                                                                           <dbl> …
## $ K13_8                                                                                           <fct> …
## $ K13_9                                                                                           <fct> …
## $ K13_10                                                                                          <fct> …
## $ `_index`                                                                                        <dbl> …
## $ `_parent_table_name`                                                                            <chr> …
## $ `_parent_index`                                                                                 <dbl> …
#traitement des variables sélectionnées


# construction de l'indicateur allaitement exclusif au sein

d <- d %>% mutate(allaitexclu = ifelse(((K13_1 == "Non") & (K13_2 == "Non") & (K13_3 == "Non") & (K13_4 == "Non") & (K13_5 == "Non") & (K13_6 == "Non") & (K13_8 == "Non") & (K13_9 == "Non") & (K13_10  == "Non")) , "Oui","Non"))
#d <- d %>% mutate(allaitexclu = ifelse(((K13_1 == "0") & (K13_2 == "0")& (K13_3 == "0") & (K13_4 == "0")& (K13_5 == "0") & (K13_6 == "0")& (K13_8 == "0") & (K13_9 == "0")& (K13_10  == "0")) , "Oui","Non"))

k <- d %>% select(c(Département,allaitexclu,pondération, Age)) 
path = "E:/UNICEF/Traitement RANJE.sav"
write_sav(k,path)



save(d,file = "ANJE.RData")
save(d,file = "ANJE_FV.RData")

# Tableau de fréquence avec exclusion des valeurs manquantes
tab1 <- freq(d$`1007. Allaitez-vous encore ${K2}?`,exclude=NA, total = TRUE)

tab1
##          n     %
## non    632  23.2
## oui   2096  76.8
## Total 2728 100.0
tab2 <- d %>% 
  tab_cells(`1007. Allaitez-vous encore ${K2}?`) %>% 
  tab_total_row_position("below") %>% 
  tab_stat_cases(label = "n",total_statistic = "u_cases") %>%
  tab_stat_cpct(label = "row %") %>%
  tab_subgroup(subgroup = d$`1005. Avez-vous allaité ${K2} après l'accouchement ?`== "Oui") %>%
  tab_subgroup(subgroup = Age[Age >=70]) %>%
  tab_pivot(stat_position = "inside_columns")

tab2
 #Total 
 n   row % 
 1007. Allaitez-vous encore ${K2}? 
   non  632 23.2
   oui  2096 76.8
   #Total cases  2728 2728
# Personnes âgées entre 12 et 15 ans

 t1 <- d %>%  tab_subgroup(subgroup = Age >= 12 & Age < 16) %>% #à mettre au debut
  tab_cells(d$Age) %>% 
  tab_total_row_position("below") %>% 
  tab_stat_cases(label = "n",total_statistic = "u_cases") %>%
  tab_stat_cpct(label = "col %") %>%
  tab_pivot(stat_position = "inside_columns")
 
 t1
 #Total 
 n   col % 
 d$Age 
   12  126 28.3
   13  119 26.7
   14  100 22.4
   15  101 22.6
   #Total cases  446 446
# Tableau : proportion d’enfants de 12 à  15 mois encore allaités parmi l’ensemble des enfants de 12 à  15 mois
tab0 <- d %>%  tab_subgroup(subgroup = Age >= 12 & Age < 16) %>%
  tab_cells(`1007. Allaitez-vous encore ${K2}?`) %>% 
  tab_total_row_position("below") %>% 
  tab_stat_cases(label = "n",total_statistic = "u_cases") %>%
  tab_stat_cpct(label = "col %") %>% 
  tab_pivot(stat_position = "inside_columns") %>%
  tab_caption("Tableau : proportion d’enfants de 12 à  15 mois encore allaités parmi l’ensemble des enfants de 12 à  15 mois") 

tab0
Tableau : proportion d’enfants de 12 à 15 mois encore allaités parmi l’ensemble des enfants de 12 à 15 mois
 #Total 
 n   col % 
 1007. Allaitez-vous encore ${K2}? 
   non  91 22.8
   oui  309 77.2
   #Total cases  400 400
# Tableau pondéré
tab01 <- d %>%  tab_subgroup(subgroup = Age >= 12 & Age < 16 ) %>%
  tab_cells(`1007. Allaitez-vous encore ${K2}?`) %>% 
  tab_weight(pondération) %>% 
  tab_total_row_position("below") %>% 
  tab_stat_cases(label = "n",total_statistic = "w_cases") %>%
  tab_stat_cpct(label = "col %") %>% 
  tab_pivot(stat_position = "inside_columns") %>%
  tab_caption("Tableau : proportion d’enfants de 12 à  15 mois encore allaités parmi l’ensemble des enfants de 12 à  15 mois") 

tab01
Tableau : proportion d’enfants de 12 à 15 mois encore allaités parmi l’ensemble des enfants de 12 à 15 mois
 #Total 
 n   col % 
 1007. Allaitez-vous encore ${K2}? 
   non  108.2 32.3
   oui  226.6 67.7
   #Total cases  400
   #Total wtd. cases  334.8
tab02 <- d %>%  tab_subgroup(subgroup = Age >= 12 & Age < 16 ) %>%
  tab_cells(`1007. Allaitez-vous encore ${K2}?`) %>%   tab_weight(pondération) %>% 
  tab_stat_cases(label = "n",total_statistic = "w_cases") %>%
  tab_total_row_position("below") %>%  
  tab_stat_cpct(label = "col %",total_statistic = "w_tpct") %>% 
  tab_pivot(stat_position = "inside_columns") %>%
  tab_caption("Tableau : proportion d’enfants de 12 à  15 mois encore allaités parmi l’ensemble des enfants de 12 à  15 mois")
tab02
Tableau : proportion d’enfants de 12 à 15 mois encore allaités parmi l’ensemble des enfants de 12 à 15 mois
 #Total 
 n   col % 
 1007. Allaitez-vous encore ${K2}? 
   non  108.2 32.3
   oui  226.6 67.7
   #Total wtd. tpct  100
   #Total wtd. cases  334.8
# Recordage avec le package EXPSS

d1 <- d
# var[var == "2"] <- "0"
# var[var == "1"] <- "2"
# var[var == "3"] <- "1"




lab <- function (var) {
  var <- as.character(var)
  var[var == "Non"] <- "0"
  var[var == "Oui"] <- "1"
  var[var == "Ne sait pas"] <- "2"
  return(var)
}

d2  <- d %>% select( starts_with('K13_')) %>% select(-c(K13_2_1,K13_3_1, K13_7)) %>% map_df(lab)
d1$K13_1 <- lab(d1$K13_1)
d1$K13_2 <- lab(d1$K13_2)
d1$K13_3 <- lab(d1$K13_3)
d1$K13_4 <- lab(d1$K13_4)
d1$K13_5 <- lab(d1$K13_5)
d1$K13_6 <- lab(d1$K13_6)
d1$K13_8 <- lab(d1$K13_8)
d1$K13_9 <- lab(d1$K13_9)
d1$K13_10 <- lab(d1$K13_10)


codelab= num_lab( "
               0 Non 
               1 Oui 
               2 NSP 
                ")
#  actr est une fonction de labellisation
actr <- function(v){
  v <- as.character(v)
  val_labels(v) <- c("Non"="0", "Oui" ="1","NSP" = "2")
  return(v)
}

# Application à la base d1
d1[,c("K13_1", "K13_2", "K13_3", "K13_4", "K13_5", "K13_6", "K13_8", 
      "K13_9", "K13_10")] <- d1[,c("K13_1", "K13_2", "K13_3", "K13_4", "K13_5", "K13_6", "K13_8", 
                                   "K13_9", "K13_10")] %>% map_df(lab) %>% map_dfr(actr)




# Tabulation

tabal <- d %>%  tab_subgroup(subgroup = (Age < 6 ) ) %>%
  tab_cells(allaitexclu) %>% 
  tab_total_row_position("below") %>% 
  tab_stat_cases(label = "n",total_statistic = "u_cases") %>% 
  tab_weight(pondération) %>% 
  tab_stat_cpct(label = "col %") %>% 
  tab_pivot(stat_position = "inside_columns") %>%
  tab_caption("Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein") 

tabal 
Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein
 #Total 
 n   col % 
 allaitexclu 
   Non  718 69.8
   Oui  339 30.2
   #Total cases  1057 1057
#expss_digits(digits = 1)

tabal2 <- d %>%  tab_subgroup(subgroup = (Age < 6 )) %>%
  tab_cells(Département) %>% 
  tab_cols(allaitexclu,total()) %>%
  tab_total_row_position("below") %>% 
  tab_weight(pondération) %>% 
  tab_stat_rpct(total_row_position = "below",
                total_label = c("Eff", "%"),
                total_statistic = c("w_cases", "w_rpct")) %>% 
  tab_pivot(stat_position = "inside_columns") %>%
  tab_caption("Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département")


tabal2
Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département
 allaitexclu     #Total 
 Non   Oui   
 Département 
   Bouénza  70.7 29.3   100
   Brazzaville  65.0 35.0   100
   Cuvette  68.5 31.5   100
   Cuvette-Ouest  71.7 28.3   100
   Kouilou  83.3 16.7   100
   Likouala  53.4 46.6   100
   Lékoumou  69.4 30.6   100
   Niari  75.6 24.4   100
   Plateaux  64.3 35.7   100
   Pointe-Noire  82.4 17.6   100
   Pool  66.2 33.8   100
   Sangha  66.7 33.3   100
   #Eff  719 311.6   1030.6
   #%  69.8 30.2   100
tabal3 <- d %>%  tab_subgroup(subgroup = (Age < 6 )) %>%
  tab_cells(Département) %>% 
  tab_cols(allaitexclu,total()) %>%
  tab_weight(pondération) %>% 
  tab_stat_cases(label = "n",total_statistic = "w_cases") %>% # permet de mettre les modalités en colonnes
  tab_total_row_position("below") %>% 
  tab_stat_rpct(total_row_position = "below", # permet de mettre les modalités en ligne
                total_label = "%",
                total_statistic ="w_rpct") %>% 
  tab_pivot(stat_position = "inside_columns") %>%
  tab_caption("Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département")


tabal3
Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département
 allaitexclu     #Total 
 Non     Oui     n   
 n     n     
 Département 
   Bouénza  41.8 70.7   17.4 29.3   59.2   100
   Brazzaville  246.7 65.0   132.9 35.0   379.6   100
   Cuvette  19.9 68.5   9.1 31.5   29.0   100
   Cuvette-Ouest  6.6 71.7   2.6 28.3   9.2   100
   Kouilou  14.1 83.3   2.8 16.7   16.9   100
   Likouala  42.3 53.4   36.9 46.6   79.2   100
   Lékoumou  16.5 69.4   7.3 30.6   23.8   100
   Niari  44.2 75.6   14.2 24.4   58.4   100
   Plateaux  18.2 64.3   10.1 35.7   28.3   100
   Pointe-Noire  198.5 82.4   42.5 17.6   241.0   100
   Pool  54.7 66.2   28.0 33.8   82.7   100
   Sangha  15.4 66.7   7.7 33.3   23.1   100
   #%  69.8   30.2     100
   #Total wtd. cases  719   311.6   1030.6  
calculate(d,
          cro_rpct(
            Département,
            list(allaitexclu,total()),
            subgroup = Age >= 0 & Age < 6,
            total_label = c("Eff pondéré","%"),
            weight = pondération,
            total_statistic = c("w_cases","w_rpct"),
            total_row_position = "below"
            
          ))
 Non   Oui   #Total 
 Département 
   Bouénza  70.7 29.3 100
   Brazzaville  65.0 35.0 100
   Cuvette  68.5 31.5 100
   Cuvette-Ouest  71.7 28.3 100
   Kouilou  83.3 16.7 100
   Likouala  53.4 46.6 100
   Lékoumou  69.4 30.6 100
   Niari  75.6 24.4 100
   Plateaux  64.3 35.7 100
   Pointe-Noire  82.4 17.6 100
   Pool  66.2 33.8 100
   Sangha  66.7 33.3 100
   #Eff pondéré  719 311.6 1030.6
   #%  69.8 30.2 100
# Création de la feuille Excel
l <- list(ta1 = tabal, ta2 = tabal2, tall = tabal3, allait12_15 = tab02 )
wb = createWorkbook()
sh = addWorksheet(wb, "Tables")
sh2 = addWorksheet(wb, "list")
# Exportation en Excel
xl_write(tabal2,wb, sh, 
         # remove '#' sign from totals 
         col_symbols_to_remove = "#",
         row_symbols_to_remove = "#",
         # format total column as bold
         other_col_labels_formats = list("#" = createStyle(textDecoration = "bold")),
         other_cols_formats = list("#" = createStyle(textDecoration = "bold")),
)

xl_write(l,wb, sh2, 
         # remove '#' sign from totals 
         col_symbols_to_remove = "#",
         row_symbols_to_remove = "#",
         # format total column as bold
         other_col_labels_formats = list("#" = createStyle(textDecoration = "bold")),
         other_cols_formats = list("#" = createStyle(textDecoration = "bold")),
)

# Enregistrement du fichier

`activeSheet<-`(wb,1) # première feuille comme feuille active
`activeSheet<-`(wb,2) # deuxième feuille comme feuille active
saveWorkbook(wb, "report.xlsx", overwrite = TRUE)
## Warning in file.create(to[okay]): impossible de créer le fichier 'report.xlsx',
## à cause de 'Permission denied'
head(d)
## # A tibble: 6 × 37
##   Départem…¹ distr…² Milie…³ Local…⁴ Numer…⁵ Numér…⁶    ZD pondé…⁷ Nombr…⁸ iuud 
##   <chr>      <chr>   <chr>   <chr>   <chr>     <dbl> <dbl>   <dbl>   <dbl> <chr>
## 1 Brazzavil… Brazza… Urbain  0       1            13   253   3.80        1 0533…
## 2 Plateaux   Abala   Rural   Assele… 1            17     8   0.404       1 4023…
## 3 Plateaux   Abala   Rural   Assele… 1             7     8   0.404       1 b7cf…
## 4 Plateaux   Abala   Rural   EYOULOU 1            12    13   0.404       1 ad73…
## 5 Plateaux   Abala   Rural   EYOULOU 1            17    13   0.404       1 424b…
## 6 Plateaux   Abala   Rural   Eyoulou 1             7    13   0.404       1 1cc1…
## # … with 27 more variables: `Code ZD` <chr>, `1002. Nom de l'enfant` <chr>,
## #   Age <dbl>, `date debut enquete` <dttm>,
## #   `1003. Quelle est la date de la naissance de ${K2}?` <dttm>,
## #   `1004. Quelle est l'âge en mois de ${K2}?` <dbl>,
## #   `1005. Avez-vous allaité ${K2} après l'accouchement ?` <chr>,
## #   `1006. Combien de temps après la naissance avez-vous mis ${K2} au sein pour la première fois ?` <chr>,
## #   `1007. Allaitez-vous encore ${K2}?` <chr>, …
# total et effectif en fin du tableau

t3 <- d %>% tab_subgroup(subgroup = (Age < 6 )) %>%
  tab_cols(list(allaitexclu, total()))  %>% 
  tab_cells(Département)  %>%  # any number of variables without total
  tab_total_row_position("none")  %>% 
  tab_weight(pondération) %>% 
  tab_stat_cpct()  %>% 
  tab_row_label(" ") %>% # ligne vide
  tab_cells(`Milieu de résidence`)  %>%  # last variable with total
  tab_total_label(c("N (weighted)", "% "))  %>%  
  tab_total_row_position("below") %>%
  tab_stat_rpct(total_statistic = c("w_cases", "w_rpct"))  %>% 
  tab_pivot() %>%
  tab_caption("Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département selon le milieu de résidence")

t3
Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département selon le milieu de résidence
 Non   Oui   #Total 
 Département 
   Bouénza  5.8 5.6 5.7
   Brazzaville  34.3 42.6 36.8
   Cuvette  2.8 2.9 2.8
   Cuvette-Ouest  0.9 0.8 0.9
   Kouilou  2.0 0.9 1.6
   Likouala  5.9 11.8 7.7
   Lékoumou  2.3 2.3 2.3
   Niari  6.1 4.6 5.7
   Plateaux  2.5 3.2 2.7
   Pointe-Noire  27.6 13.7 23.4
   Pool  7.6 9.0 8.0
   Sangha  2.1 2.5 2.2
   
  
 Milieu de résidence 
   Rural  67.6 32.4 100.0
   Urbain  70.7 29.3 100.0
   #N (weighted)  719 311.6 1030.6
   #%   69.8 30.2 100
t4 <- mtcars %>%
  tab_cols(list(am, total()))  %>% 
  tab_cells(cyl, vs)  %>%  # any number of variables without total
  tab_total_row_position("none")  %>% 
  tab_stat_cpct()  %>% 
  tab_cells(gear)  %>%  # last variable with total
  tab_total_label(c("N (unweighted)", "%"))  %>%  
  tab_total_row_position("below") |>
  tab_stat_cpct(total_statistic = c("u_cases", "w_cases"))  %>% 
  tab_pivot()
t4
 0   1   #Total 
 cyl 
   4  15.8 61.5 34.4
   6  21.1 23.1 21.9
   8  63.2 15.4 43.8
 vs 
   0  63.2 46.2 56.2
   1  36.8 53.8 43.8
 gear 
   3  78.9 46.9
   4  21.1 61.5 37.5
   5  38.5 15.6
   #N (unweighted)  19 13 32
   #%  19 13 32
#############################################################################
# Différentes sorties des tableaux 


## Aperçu de stat_position = "inside_columns"
d %>%  tab_subgroup(subgroup = (Age < 6 )) %>%
  tab_cells(Département) %>% 
  tab_cols(allaitexclu,total()) %>%
  tab_total_row_position("below") %>% 
  tab_stat_cases(label = "n",total_statistic = "u_cases") %>% # permet de mettre les modalités en colonnes
  tab_weight(pondération) %>% 
  tab_stat_rpct(label = " %",total_statistic = "w_rpct") %>%
  tab_pivot(stat_position = "inside_columns") %>%
  tab_caption("Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département")
Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département
 allaitexclu     #Total 
 Non     Oui     n      % 
 n    %     n    %     
 Département 
   Bouénza  53 70.7   22 29.3   75   100
   Brazzaville  65 65.0   35 35.0   100   100
   Cuvette  37 68.5   17 31.5   54   100
   Cuvette-Ouest  38 71.7   15 28.3   53   100
   Kouilou  55 83.3   11 16.7   66   100
   Likouala  94 53.4   82 46.6   176   100
   Lékoumou  68 69.4   30 30.6   98   100
   Niari  59 75.6   19 24.4   78   100
   Plateaux  45 64.3   25 35.7   70   100
   Pointe-Noire  70 82.4   15 17.6   85   100
   Pool  86 66.2   44 33.8   130   100
   Sangha  48 66.7   24 33.3   72   100
   #Total wtd. rpct  69.8   30.2     100
   #Total cases  718   339   1057  
## Aperçu de stat_position = "outside_columns"
d %>%  tab_subgroup(subgroup = (Age < 6 )) %>%
  tab_cells(Département) %>% 
  tab_cols(allaitexclu,total()) %>%
  tab_total_row_position("below") %>% tab_stat_cases(label = "n",total_statistic = "u_cases") %>%
  tab_weight(pondération) %>% 
  tab_stat_rpct(label = " %",total_statistic = "w_rpct") %>%
  tab_pivot(stat_position = "outside_columns") %>%
  tab_caption("Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département")
Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département
 allaitexclu     #Total     allaitexclu     #Total 
 Non     Oui     n     Non     Oui      % 
 n     n        %      %   
 Département 
   Bouénza  53   22   75   70.7   29.3   100
   Brazzaville  65   35   100   65.0   35.0   100
   Cuvette  37   17   54   68.5   31.5   100
   Cuvette-Ouest  38   15   53   71.7   28.3   100
   Kouilou  55   11   66   83.3   16.7   100
   Likouala  94   82   176   53.4   46.6   100
   Lékoumou  68   30   98   69.4   30.6   100
   Niari  59   19   78   75.6   24.4   100
   Plateaux  45   25   70   64.3   35.7   100
   Pointe-Noire  70   15   85   82.4   17.6   100
   Pool  86   44   130   66.2   33.8   100
   Sangha  48   24   72   66.7   33.3   100
   #Total wtd. rpct        69.8   30.2   100
   #Total cases  718   339   1057      
## Apperçu de stat_position = "inside_rows"
d %>%  tab_subgroup(subgroup = (Age < 6 )) %>%
  tab_cells(Département) %>% 
  tab_cols(allaitexclu,total()) %>%
  tab_total_row_position("below") %>% tab_stat_cases(label = "n",total_statistic = "u_cases") %>%
  tab_weight(pondération) %>% 
  tab_stat_rpct(label = " %",total_statistic = "w_rpct") %>%
  tab_pivot(stat_position = "inside_rows") %>%
  tab_caption("Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département")
Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département
   allaitexclu     #Total 
   Non   Oui   
 Département 
   Bouénza   n    53.0 22.0   75
     %    70.7 29.3   100
   Brazzaville   n    65.0 35.0   100
     %    65.0 35.0   100
   Cuvette   n    37.0 17.0   54
     %    68.5 31.5   100
   Cuvette-Ouest   n    38.0 15.0   53
     %    71.7 28.3   100
   Kouilou   n    55.0 11.0   66
     %    83.3 16.7   100
   Likouala   n    94.0 82.0   176
     %    53.4 46.6   100
   Lékoumou   n    68.0 30.0   98
     %    69.4 30.6   100
   Niari   n    59.0 19.0   78
     %    75.6 24.4   100
   Plateaux   n    45.0 25.0   70
     %    64.3 35.7   100
   Pointe-Noire   n    70.0 15.0   85
     %    82.4 17.6   100
   Pool   n    86.0 44.0   130
     %    66.2 33.8   100
   Sangha   n    48.0 24.0   72
     %    66.7 33.3   100
   #Total cases   n    718 339   1057
   #Total wtd. rpct    %    69.8 30.2   100
##Aperçu de stat_position = "outside_rows"

d %>%  tab_subgroup(subgroup = (Age < 6 )) %>%
  tab_cells(Département) %>% 
  tab_cols(allaitexclu,total()) %>%
  tab_total_row_position("below") %>% tab_stat_cases(label = "n",total_statistic = "u_cases") %>%
  tab_weight(pondération) %>% 
  tab_stat_rpct(label = " %",total_statistic = "w_rpct") %>%
  tab_pivot(stat_position = "outside_rows") %>%
  tab_caption("Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département")
Tableau : Répartition (%) des enfants de moins de 6 mois exclusivement allaités au sein par département
   allaitexclu     #Total 
   Non   Oui   
 Département 
   Bouénza   n    53.0 22.0   75
   Brazzaville   n    65.0 35.0   100
   Cuvette   n    37.0 17.0   54
   Cuvette-Ouest   n    38.0 15.0   53
   Kouilou   n    55.0 11.0   66
   Likouala   n    94.0 82.0   176
   Lékoumou   n    68.0 30.0   98
   Niari   n    59.0 19.0   78
   Plateaux   n    45.0 25.0   70
   Pointe-Noire   n    70.0 15.0   85
   Pool   n    86.0 44.0   130
   Sangha   n    48.0 24.0   72
   #Total cases   n    718 339   1057
   Bouénza    %    70.7 29.3   100
   Brazzaville    %    65.0 35.0   100
   Cuvette    %    68.5 31.5   100
   Cuvette-Ouest    %    71.7 28.3   100
   Kouilou    %    83.3 16.7   100
   Likouala    %    53.4 46.6   100
   Lékoumou    %    69.4 30.6   100
   Niari    %    75.6 24.4   100
   Plateaux    %    64.3 35.7   100
   Pointe-Noire    %    82.4 17.6   100
   Pool    %    66.2 33.8   100
   Sangha    %    66.7 33.3   100
   #Total wtd. rpct    %    69.8 30.2   100
mtcars %>%
  tab_cells(am) %>%
  tab_cols(vs, total()) %>%
  tab_total_row_position("below") %>% 
  tab_stat_cases(label = "n",total_statistic = "u_cases") %>%
  tab_stat_rpct(label = "row %") %>%
  tab_pivot(stat_position = "inside_columns")
 vs     #Total 
 0     1     n     row % 
 n   row %     n   row %     
 am 
   0  12 63.2   7 36.8   19   100
   1  6 46.2   7 53.8   13   100
   #Total cases  18 18   14 14   32   32