<figure><img src="image_808.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125140314
MzaReserva

EdificioReserva

<figure><img src="image_809.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125140314
MzaReserva

EdificioReserva

<figure><img src="image_810.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210507
MzaReserva

EdificioReserva

<figure><img src="image_811.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210507
MzaReserva

EdificioReserva

<figure><img src="image_812.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210507
MzaReserva

EdificioReserva

<figure><img src="image_813.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210708
MzaReserva

EdificioReserva

<figure><img src="image_814.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210708
MzaReserva

EdificioReserva

<figure><img src="image_815.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210708
MzaReserva

EdificioReserva
<figure><img src="image_816.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210716
MzaReserva

EdificioReserva

<figure><img src="image_817.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210716
MzaReserva

EdificioReserva

<figure><img src="image_818.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210716
MzaReserva

EdificioReserva

<figure><img src="image_819.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210909
MzaReserva

EdificioReserva

<figure><img src="image_820.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210909
MzaReserva

EdificioReserva

<figure><img src="image_821.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210909
MzaReserva

EdificioReserva

<figure><img src="image_822.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210921
MzaReserva

EdificioReserva

<figure><img src="image_823.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210921
MzaReserva

EdificioReserva
<figure><img src="image_824.png" /></figure>

EL LUCERO
Estrato_Muestreo: 2
Id_Mza: 11001125210921
MzaReserva

EditoReserva

<figure><img src="image_825.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125190613
MzaReserva

EditoReserva

<figure><img src="image_826.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125190613
MzaReserva

EditoReserva

<figure><img src="image_827.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125190613
MzaReserva

EditoReserva

<figure><img src="image_828.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125190806
MzaReserva

EditoReserva

<figure><img src="image_829.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125190806
MzaReserva

EditoReserva

<figure><img src="image_830.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125190806
MzaReserva

EditoReserva

<figure><img src="image_831.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230202
MzaReserva

EditoReserva
<figure><img src="image_832.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230202
MzahReserva

EdificioReserva

<figure><img src="image_833.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230202
MzahReserva

EdificioReserva

<figure><img src="image_834.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230209
MzahReserva

EdificioReserva

<figure><img src="image_835.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230209
MzahReserva

EdificioReserva

<figure><img src="image_836.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230209
MzahReserva

EdificioReserva

<figure><img src="image_837.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230402
MzahReserva

EdificioReserva

<figure><img src="image_838.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230402
MzahReserva

EdificioReserva

<figure><img src="image_839.png" /></figure>

EL LUCERO
Estrato_Muestreo: 3
Id_Mza: 11001125230402
MzahReserva

EdificioReserva
<figure><img src="image_840.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125140104
MzaReserva

EdificioReserva

<figure><img src="image_841.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125140104
MzaReserva

EdificioReserva

<figure><img src="image_842.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125140104
MzaReserva

EdificioReserva

<figure><img src="image_843.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125140106
MzaReserva

EdificioReserva

<figure><img src="image_844.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125140106
MzaReserva

EdificioReserva

<figure><img src="image_845.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125140106
MzaReserva

EdificioReserva

<figure><img src="image_846.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125160108
MzaReserva

EdificioReserva

<figure><img src="image_847.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125160108
MzaReserva

EdificioReserva
<figure><img src="image_848.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125160108
MzaReserva

<figure><img src="image_849.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170309
MzaReserva

<figure><img src="image_850.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170309
MzaReserva

<figure><img src="image_851.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170309
MzaReserva

<figure><img src="image_852.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170324
MzaReserva

<figure><img src="image_853.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170324
MzaReserva

<figure><img src="image_854.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170324
MzaReserva

<figure><img src="image_855.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170326
MzaReserva
<figure><img src="image_856.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170326
Mzatreserva

EdificioReserva

<figure><img src="image_857.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170326
Mzatreserva

EdificioReserva

<figure><img src="image_858.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170346
Mzatreserva

EdificioReserva

<figure><img src="image_859.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170346
Mzatreserva

EdificioReserva

<figure><img src="image_860.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170346
Mzatreserva

EdificioReserva

<figure><img src="image_861.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170350
Mzatreserva

EdificioReserva

<figure><img src="image_862.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170350
Mzatreserva

EdificioReserva

<figure><img src="image_863.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125170350
Mzatreserva

EdificioReserva
<figure><img src="image_864.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125190303
MzaReserva
ÉditoReserva

<figure><img src="image_865.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125190303
MzaReserva
ÉditoReserva

<figure><img src="image_866.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125190303
MzaReserva
ÉditoReserva

<figure><img src="image_867.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125190726
MzaReserva
ÉditoReserva

<figure><img src="image_868.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125190726
MzaReserva
ÉditoReserva

<figure><img src="image_869.png" /></figure>

EL LUCERO
Estrato_Muestreo: 4
Id_Mza: 11001125190726
MzaReserva
ÉditoReserva

## 13. Étapes de vérification de la nature des constructions présentes dans les îlots tirés et correction des problèmes de superposition entre couches

Florent Demoraes - 08/10/2021 → 11/11/2021

### 1 - Correction de la couche des constructions de Bogotá

Problème de départ : pas de métadonnées, on ne sait pas à quoi correspondent les constructions, ni leur usage.

### Suppression des entités ayant une surface inférieure à 6 m²

Permet de supprimer la plupart des constructions ne donnant pas sur la rue (et qui ne sont a priori pas des logements)
<figure><img src="image_870.png" /></figure>

## Calcul du rapport Surface / Périmètre et suppression de toutes les valeurs inférieures ou égales à 0,4.

Permet d'éliminer les surplombs d'immeubles donnant sur la voierie, matérialiséssous forme de
polygones.

<figure><img src="image_871.png" /></figure>

## Suppression des constructions sans étages

$$ ConNpisos = 0 $$

## Récupération du code mza dans les constructions

Problème : décalage entre couche mza et couche construction notamment à Lucero.

Solution : dilatation des mzas puis jointure spatiale
<figure><img src="image_872.png" /></figure>

<figure><img src="image_873.png" /></figure>
## Découpage de certains bâtiments

Pour les 10 manzanas qui avaient initialement moins de 10 bâtiments (ce qui posait problème pour le tirage au sort de ces derniers), découpage des bâtiments à partir de leur physionomie observable sur les images Google et sur Google Street View.

Exemple de découpage des immeubles par bloc (ID : 11001125170350)

<figure><img src="image_874.png" /></figure>

### Polygones d'origine (n=4)

<figure><img src="image_875.png" /></figure>
<figure><img src="image_876.png" /><figcaption>### Polygones redécoupés (n=17)</figcaption></figure>

Malgré ce travail de redécoupage, une mza compte encore moins de 10 bâtiments. Il s'agit de la mza ID_Mza_EMU 11001125210909 (6 bâtiments)

<figure><img src="image_877.png" /></figure>
<figure><img src="image_878.png" /><figcaption>Suppression de certains bâtiments sans usage résidentiel d'après Google Street View</figcaption></figure>

<figure><img src="image_879.png" /></figure>
## Suppression des centres commerciaux

<figure><img src="image_880.png" /></figure>

<figure><img src="image_881.png" /></figure>

## Suppression des centres culturels

### Edifico Compensa Suba

<figure><img src="image_882.png" /></figure>
Suppression des collèges

<figure><img src="image_883.png" /></figure>

<figure><img src="image_884.png" /></figure>
<figure><img src="image_885.png" /><figcaption>### Suppression des tienditas de plain-pied</figcaption></figure>

<figure><img src="image_886.png" /></figure>
<figure><img src="image_887.png" /><figcaption>Suppression des salones comunales</figcaption></figure>

<figure><img src="image_888.png" /></figure>
## 2 - Edition de la couche des îlots et résolution des problèmes de superposition

### Repositionnement des limites de îlots au regard de l'emplacement des bâtiments

Sobre todo, en Lucero, existe un desfase entre la capa de construcciones y la capa de manzanas. Se corrigió, utilizando la posición de las construcciones que parece ser más exacta si se considera la ortofoto de 2014

<figure><img src="image_889.png" /></figure>

## 3 - Points de vigilance

### Bâtiments manquants

Ojo: la información sobre las construcciones puede no corresponder exactamente a la situación en el terreno.

- Puede faltar algunos edificios (ejemplo en Lucero)

<figure><img src="image_890.png" /></figure>
- Un polígono puede en realidad contar con varios edificios (ejemplo en Lucero también). En el plano, aparecen tres edificios, pero en Google Street View aparecen 4.

<figure><img src="image_891.png" /></figure>
## Changements récents

Exemple : orthophoto de 2014, plan des îlots de 2018 (El Rincón)

<figure><img src="image_892.png" /></figure>

Le même secteur en 2021

<figure><img src="image_893.png" /></figure>

On voit clairement l'ouverture d'un nouvel axe routier qui a impliqué des destructions de bâtiments et une reconfiguration du plan des îlots localement.
# 14. Méthode de création d'un semis de points avec contrainte d'espacement (QGIS)

Florent - 13/05/2022

**Problème** : nous ne disposons pas du cadastre à Soacha. Nous ne pouvons donc pas tirer au sort des bâtiments dans lesquels appliquer des enquêtes. Sur le pourtour de chaque îlot, nous avons donc créé un semis de points distribués avec une contrainte d'espacement (6,5 mètres minimum entre 2 points)43. Ce procédé permet d'éviter au maximum le risque que deux points soient tirés trop proches l'un de l'autre et correspondent sur le terrain à un même bâtiment. Dans QGIS, nous avons tiré 12 points par îlot. 5 points (tirés en sort parmi les 12) pour appliquer des enquêtes, et 7 points de réserve. Ce nombre de points de réserve est volontairement élevé car on ne maîtrise pas où tombent les points. Certains tombent dans des parties non bâties de l'îlot (voir exemple ci-dessous). L'enquêteur sur le terrain aura donc à recourir assez régulièrement aux points de réserve.

<figure><img src="image_894.png" /></figure>

<figure><img src="image_895.png" /></figure>

<footnote n="43">43 Cette distance est un compromis, car la plupart des îlots sont petits. Choisir un espacement plus grand rendait dans certains cas le calcul impossible (impossible de créer 12 points espacés de plus de 6,5 mètres pour un même îlot). Le semis de points ainsi obtenu n'est donc pas distribué aléatoirement. La sélection au hasard de 5 points à enquêter sur les 12 remet un peu de caractère aléatoire dans la distribution spatiale.</footnote>
15. Script R pour simuler les valeurs moyennes des estimateurs et calculer les intervalles de confiance par la technique du bootstrap

# calcul du boostrap sur les données d'enquête Modural - Bogota

setwd("F:/Rennes/Recherche/ANR MoDurAL/EncuestaPorCuestionario/Ined/Bootstrap/Manip")
library(haven)
library(tidyverse)
library(openxlsx)
library(stringr)
library(vctrs)
library(janitor)
library(hms)
library(data.table)

Tabla_C1_Hogar <- read_stata("F:/Rennes/Recherche/ANR
MoDurAL/EncuestaPorCuestionario/EtapasEncuestas/Prestatario Lima/Datum/BD
entregadas/Tablas_2023_03_23/New_Versiones_Marzo_Bogota/Bog_Tabla_C1_Hogar_new_var.dta")

Tabla_C1_Hogar_label <- as_factor(Tabla_C1_Hogar)
#View(Tabla_C1_Hogar_label)

Tabla_C1_Hogar_label$ID_Concat <- paste0(Tabla_C1_Hogar_label$C1_Zona_enc, " - ",
Tabla_C1_Hogar_label$C1_Estr_muestr)

Nb_hog_enquetes_par_strate <- Tabla_C1_Hogar_label %>% group_by(ID_Concat, Id_mza) %>%
summarise(Nb_hog_enquetes = n())

Nb_mzas_enquetees_par_strate <- Nb_hog_enquetes_par_strate %>% group_by(ID_Concat) %>%
summarise(Nb_mzas_enquetees = n())

Nb_mzas_enquetees_par_strate$Nb_ils_tirage_bootstrap <-
Nb_mzas_enquetees_par_strate$Nb_mzas_enquetees-1

# création d'une liste des mzas dans lesquelles les enquêtes Modural ont été appliquées
List_mzas_Encuesta <- unique(sort(Tabla_C1_Hogar_label$Id_mza))

# création d'une liste des groupes (Zone/Strate)
ListaEstratosZonas <- as.character unique(sort(Tabla_C1_Hogar_label$ID_Concat)))

# définition du nombre de simulations
n_iterations <- 1000

# création d'un tableau qui contiendra tous les îlots tirés à l'issue du boostrap
MzasSorteadasSimulationAssemblage <- data.frame()

startTime <- Sys.time()

for (n in (1:n_iterations)) {

# création d'un tableau qui contient les îlots tirés à chaque itération du boostrap suivant
les tailles d'échantillon par strate/zone
MzasSorteadasSimulation <- data.frame()

# tirage des mzas pour chaque itération

for (i in ListaEstratosZonas) {

# récupération de la taille d'échantillon (nombre de mzas à tirer) par zone/strate
j <-
Nb_mzas_enquetees_par_strate$Nb_ils_tirage_bootstrap[which(Nb_mzas_enquetees_par_strate$ID_C
oncat == i)]

# Tirage au sort avec remise des manzanas par zone/strate en fonction de la taille
d'échantillon associée (taille effective - 1)
b <- Nb_hog_enquetes_par_strate[which(Nb_hog_enquetes_par_strate$ID_Concat == i), c(1:2)]
b <- b[sample(nrow(b), j, replace = TRUE), ]
MzasSorteadasSimulation <- rbind(MzasSorteadasSimulation, b)

}

MzasSorteadasSimulationAssemblage <- rbind(MzasSorteadasSimulationAssemblage,
MzasSorteadasSimulation)
```R
}
endTime <- Sys.time()
print(endTime - time)
#Time difference of 10.25142 mins

rm(i)
rm(j)
rm(b)
rm(n)
```

```R
# pour ajouter l'identifiant des itérations dans le fichier des mzas simulées
Iteration <- as.numeric()
```

```R
for (f in c(1:n iterations)) {
  tmp <- rep(f, 194)
  Iteration <- c(Iteration, tmp)
}
rm(tmp)
rm(f)
```

```R
MzasSorteadasSimulationAssemblage$Iteration <- Iteration
rm(Iteration)
```

```R
MzasSorteadasSimulationAssemblage <- as.data.frame(MzasSorteadasSimulationAssemblage)
```

```R
save(MzasSorteadasSimulationAssemblage, file = "MzasSorteadasSimulationAssemblage.RData")
load("MzasSorteadasSimulationAssemblage.RData")
```

```R
MzasSorteadasBootstrap <- MzasSorteadasSimulationAssemblage %>% group_by(ID_Concat, Id_mza, Iteration) %>% summarise(Nb_tirages_bootstrap = n()) %>% as.data.frame()
```

```R
MzasSorteadasSimulationAssemblage$Id_join <-
  paste0(MzasSorteadasSimulationAssemblage$ID_Concat, " - ",
          MzasSorteadasSimulationAssemblage$Id_mza, " - ", MzasSorteadasSimulationAssemblage$Iteration)
MzasSorteadasBootstrap$Id_join <- paste0(MzasSorteadasBootstrap$ID_Concat, " - ",
          MzasSorteadasBootstrap$Id_mza, " - ", MzasSorteadasBootstrap$Iteration)
```

```R
# pour créer un dataframe avec le nb de mzas dans lesquelles des enquêtes ont été menées
(grand fichier de 209 x 1000 îlots)
```

```R
GrandFichier1 <- as.data.frame(Nb_hog_enquetes_par_strate$ID_Concat, n iterations))
```

```R
GrandFichier2 <- as.data.frame_rep(Nb_hog_enquetes_par_strate$Id_mza, n iterations))
```

```R
GrandFichier3 <- as.data.frame_rep(Nb_hog_enquetes_par_strate$Nb_hog_enquetes, n iterations))
```

```R
GrandFichier <- cbind(GrandFichier1, GrandFichier2, GrandFichier3)
rm(GrandFichier1, GrandFichier2, GrandFichier3)
```

```R
colnames(GrandFichier) <- colnames(Nb_hog_enquetes_par_strate)
```

```R
# pour ajouter l'identifiant des itérations dans le GrandFichier
Iteration <- as.numeric()
```

```R
for (f in c(1:n iterations)) {
  tmp <- rep(f, length unique(Tabla_C1_Hogar_label$Id_mza)))
  Iteration <- c(Iteration, tmp)
}
rm(tmp)
```

```R
GrandFichier$Iteration <- Iteration
rm(Iteration)
```

```R
GrandFichier$Id_join <- paste0(GrandFichier$ID_Concat, " - ", GrandFichier$Id_mza, " - ",
  GrandFichier$Iteration)
save(GrandFichier, file = "GrandFichier.RData")
load("GrandFichier.RData")
```

```R
# jointure : pour récupérer le nb de tirages bootstrap dans le grand fichier des îlots
GrandFichierConsolide <- cbind(GrandFichier, MzasSorteadasBootstrap[, c("Id_join",
  "Nb_tirages_bootstrap")])
```

```R
[match(GrandFichier$Id_join, MzasSorteadasBootstrap$Id_join), -
  1, drop = TRUE])
```

```R
GrandFichierConsolide <- GrandFichierConsolide %>% rename(Nb_tirages_bootstrap = 6)
```

```R
# pour remplacer les valeurs inconnues d'une colonne par un zéro
```
```R
GrandFichierConsolide$Nb_tirages_bootstrap[is.na(GrandFichierConsolide$Nb_tirages_bootstrap)]
<- 0
```

```R
# jointure : pour récupérer dans le grand fichier des îlots le nb d'îlots dans lesquels des enquêtes ont été appliquées dans chaque strate / zone
GrandFichierConsolide <- cbind(GrandFichierConsolide,
                             Nb_mzas_enquetees_par_strate[,c("ID_Concat", "Nb_mzas_enquetees")])
```

```R
[match(GrandFichierConsolide$ID_Concat,
       Nb_mzas_enquetees_par_strate$ID_Concat), -1, drop = TRUE])

GrandFichierConsolide <- GrandFichierConsolide %>% rename(Nb_mzas_enquetees_dans_strate = 7)
```

```R
Mzas_Zonas_Modal_N2613 <-
  read.xlsx("Tableau_Ilots_avec_variables_et_taille_echantillon_v6.xlsx", sheet =
            "Mzas_Zonas_Modal_N2613")
```

```R
Mzas_Zonas_Modal_N2613 <- Mzas_Zonas_Modal_N2613 %>% rename(Id_mza = ID_Mza_EMU)
```

```R
Poids_ajustes <- read.xlsx("Tableau_Ilots_avec_variables_et_taille_echantillon_v6.xlsx", sheet = "delta")
```

```R
# jointure : pour récupérer dans le grand fichier des îlots les poids ajustés des ménages
 argument dk)
```

```R
# (compte tenu du delta entre effectifs attendus / effectifs enquêtés)
GrandFichierConsolide <- cbind(GrandFichierConsolide, Poids_ajustes[,c("ID_Concat",
"Poids_ajustes")])
```

```R
[match(GrandFichierConsolide$ID_Concat,
       Poids_ajustes$ID_Concat), -1, drop = TRUE])
```

```R
GrandFichierConsolide <- GrandFichierConsolide %>% rename(Poids_ajustes_hog = 8)
```

```R
# jointure : pour récupérer dans le grand fichier des îlots le nombre de ménages éligibles par
# ilot (argument di)
GrandFichierConsolide <- cbind(GrandFichierConsolide, Mzas_Zonas_Modal_N2613[,c("Id_mza",
"Hog_Objetivo")])
```

```R
[match(GrandFichierConsolide$Id_mza,
       Mzas_Zonas_Modal_N2613$Id_mza), -1, drop = TRUE])
```

```R
GrandFichierConsolide <- GrandFichierConsolide %>% rename(Hog_Objetivo = 9)
```

```R
# pour calculer l'argument "dk sachant i" (dk|i = dk / di)
GrandFichierConsolide$Inv_proba_selection_menag_dans_ilot <-
  GrandFichierConsolide$Poids_ajustes_hog/GrandFichierConsolide$Hog_Objetivo
```

```R
# pour calculer l'argument di* --> (Nb_mzas_enquetees_dans_strate /
# Nb_mzas_enquetees_dans_strate - 1) * Nb_tirages_bootstrap * Nb_menages_elligibles
GrandFichierConsolide$di_etoile <-
  GrandFichierConsolide$Nb_mzas_enquetees_dans_strate/(GrandFichierConsolide$Nb_mzas_enquetees_dans_strate-1)*GrandFichierConsolide$Nb_tirages_bootstrap*GrandFichierConsolide$Hog_Objetivo
```

```R
# pour calculer l'argument dk* (di* x dk|i)
GrandFichierConsolide$Poids_bootstrap_dk_etoile <-
  GrandFichierConsolide$di_etoile*GrandFichierConsolide$Inv_proba_selection_menag_dans_ilot

GrandFichierConsolide <- GrandFichierConsolide %>% rename(Zone_strate = ID_Concat)
```

```R
GrandFichierConsolide <- GrandFichierConsolide %>% rename(Zone_strate = ID_Concat)

GrandFichierConsolide$Id_join <- NULL
```

```R
save(GrandFichierConsolide, file = "GrandFichierConsolide.RData")
load("GrandFichierConsolide.RData")
```

```R
# création d'un grand fichier de 837 * 1000 ménages puis récupération des poids bootstrap issus
du grand fichier des îlots de 209 000 lignes
GrandFichierMenages1 <- as.data.frame(Rep(Tabla_C1_Hogar_label$SbjNum,n iterations))
GrandFichierMenages2 <- as.data.frame_rep(Tabla_C1_Hogar_label$Id_mza,n iterations))
GrandFichierMenages <- cbind(GrandFichierMenages1, GrandFichierMenages2)
colnames(GrandFichierMenages) <- colnames(Tabla_C1_Hogar_label)[1:2]
```

```R
# pour ajouter l'identifiant des itérations dans le GrandFichierMenages
Iteration <- as.numeric()
```

```R
for (f in c(1:n iterations)) {
  tmp <- rep(f, length unique(Tabla_C1_Hogar_label$SbjNum)))
  Iteration <- c(Iteration, tmp)}
rm(tmp)
```
GrandFichierMenages$Iteration <- Iteration
rm(Iteration)

# préparation des tableaux et jointure pour récupérer les poids bootstrap dans le grand
fichier ménages
GrandFichierConsolide$Id_merge <- paste0(GrandFichierConsolide$Id_mza, " - ",
GrandFichierConsolide$Iteration)
GrandFichierMenages$Id_merge <- paste0(GrandFichierMenages$Id_mza, " - ",
GrandFichierMenages$Iteration)

GrandFichierMenagesCondense <- GrandFichierMenages %>%
group_by(Id_merge) %>%
summarise(
  Nb_hog_enquetes = n(),
  Iteration = mean(Iteration),
  Id_mza = first(Id_mza)
) %>%
as.data.frame()

GrandFichierMenagesCondense <- cbind(GrandFichierMenagesCondense[,"Id_merge"],
GrandFichierConsolide
  [match(GrandFichierMenagesCondense$Id_merge,
GrandFichierConsolide$Id_merge), -1, drop = TRUE])

GrandFichierMenagesCondense[,1] <- NULL

save(GrandFichierMenagesCondense, file = "GrandFichierMenagesCondense.RData")
load("GrandFichierMenagesCondense.RData")

# jointure des poids bootstrap vers grand fichier ménages

GrandFichierMenages <- cbind(GrandFichierMenages, GrandFichierMenagesCondense[,c("Id_merge",
"Poids_bootstrap.dk_etoile")])
[match(GrandFichierMenages$Id_merge,
GrandFichierMenagesCondense$Id_merge), -1, drop = TRUE])

GrandFichierMenages <- GrandFichierMenages %>%
  rename(Poids_bootstrap DK_etoile = 5)

# Création d'un grand fichier ménages avec toutes les variables de la table C1
GrandFichierMenagesC1 <- cbind(GrandFichierMenages[,c("SbjNum", "Iteration", "Id_merge",
"Poids_bootstrap.dk_etoile")], Tabla_C1_Hogar_label
  [match(GrandFichierMenages$SbjNum, Tabla_C1_Hogar_label$SbjNum),
-1, drop = TRUE])

# calcul d'indicateurs quanti par ménage
GrandFichierMenagesC1$C1_Celul_hog <- GrandFichierMenagesC1$C1_Celul_num /
GrandFichierMenagesC1$C1_Pers_tot
GrandFichierMenagesC1$C1_PC_laptop_hog <- (GrandFichierMenagesC1$C1_PC_num +
GrandFichierMenagesC1$C1_Laptop_num) / GrandFichierMenagesC1$C1_Pers_tot

##########
# CALCUL IC95 SANS BOUCLE (SUR UN EXEMPLE "C1_Pers_tot") PAR STRATE/ZONE

# création d'un tableau qui contiendra l'ensemble des résumés statistiques
# pour chaque zone, chaque strate (pour l'indicateur C1_Pers_tot)
Recap_Zone_Strate_C1_Pers_tot <- Recap_Zone_Strate_C1_Pers_tot[order(
  Recap_Zone_Strate_C1_Pers_tot$C1_Estr_muestr,
  decreasing = FALSE), ]

# pour calculer les intervalles de confiance empiriques par strate / zone (pour l'indicateur
C1_Pers_tot)
Recap_Zone_Strate_IC_C1_Pers_tot <- Recap_Zone_Strate_C1_Pers_tot %>%
group_by(C1_Zona_enc, C1_Estr_muestr) %>%
summarise(
  IC_Inf_C1_Pers_tot = round(quantile(Weighted_mean_C1_Pers_tot, 0.025), 2),
Mean_C1_Pers_tot = round(mean(Weighted_mean_C1_Pers_tot), 2),
IC_Sup_C1_Pers_tot = round(quantile(Weighted_mean_C1_Pers_tot, 0.975), 2),
Amplitude_IC_C1_Pers_tot = round(quantile(Weighted_mean_C1_Pers_tot, 0.975) -
quantile(Weighted_mean_C1_Pers_tot, 0.025), 2),
Nb_hog = round(mean(Nb_hog), 0)
)

# affichage des boîtes à moustaches
# création d'une palette de couleurs
rbPal <- c("#000000", "#ff0000", "#00cd00", "#0000ff", "#65ffe", "#ff00ff", "#a9a9a9",
"#b8860b")

ggplot(data = Recap_Zone_Strate_C1_Pers_tot, aes(x = C1_Zona_enc, y =
Weighted_mean_C1_Pers_tot, fill = C1_Estr_muestr)) +
geom_boxplot(notchwidth = 0.5, outlier.shape = NA) +
ylim(2, 6) +
labs(x = "Zone / Strate", y = "Weighted_mean_C1_Pers_tot") +
scale_fill_manual(breaks = unique(Recap_Zone_Strate_C1_Pers_tot$C1_Estr_muestr), values =
rbPal)

# ajout d'une colonne avec la moyenne des valeurs estimées par strate / zone (utile pour les
graphiques)
Recap_Zone_Strate_C1_Pers_tot <- Recap_Zone_Strate_C1_Pers_tot %>%
group_by(C1_Zona_enc,
C1_Estr_muestr) %>%
mutate(Average_Weighted_mean_C1_Pers_tot_Strate =
round(mean(Weighted_mean_C1_Pers_tot), 2))

# affichage des histogrammes des distributions simulées par strate / zone

ggplot(Recap_Zone_Strate_C1_Pers_tot, aes(x = Weighted_mean_C1_Pers_tot, fill =
C1_Estr_muestr)) +
geom_histogram(position = "identity", color = "white") +
theme_bw() +
theme.Strip.text = element_text(face = "bold")) +
geom_vline(aes(xintercept = Average_Weighted_mean_C1_Pers_tot_Strate), color = "black",
linetype = "longdash", size = 0.75) +
xlab("Weighted_mean_C1_Pers_tot_Simul") + ylab("Frecuencia") +
geom_text(y = 400, aes(x = Average_Weighted_mean_C1_Pers_tot_Strate, label =
Average_Weighted_mean_C1_Pers_tot_Strate), size = 3, hjust = -.4) +
scale_fill_manual(breaks = unique(Recap_Zone_Strate_C1_Pers_tot$C1_Estr_muestr), values =
rbPal) +
facet_grid(C1_Zona_enc ~ C1_Estr_muestr)

##########
# CALCUL DES IC95 AVEC BOUCLE (PAR STRATE/ZONE) SUR TOUTES LES VARIABLES QUANTI DU C1

# création d'une liste de variables quanti
C1_listvar_quanti <- c("C1_Pers_tot", "C1_Pers_estu", "C1_Pers_trab", "C1_Cuart_tot",
"C1_Cuart_dorm", "C1_Celul_hog", "C1_PC_laptop_hog")

# création d'une liste de variables catégorielles
C1_listvar quali <- c("C1_Tipo_vivien", "C1_Tenenc_vivien", "C1_Celul_tenenc", "C1_PC_tenenc",
"C1_Laptop_tenenc", "C1_Internet_tenenc", "C1_Estr_vivien", "C1_Ingr_hog")

# affichage des boîtes à moustaches
# création d'une palette de couleurs
rbPal <- c("#000000", "#ff0000", "#00cd00", "#0000ff", "#65ffe", "#ff00ff", "#a9a9a9",
"#b8860b")

# Create workbooks (for storing graphs)
wb <- createWorkbook()
wb2 <- createWorkbook()

# create a list (for storing IC values)
listSlot <- list()

for(i in C1_listvar_quanti) {
  name <- paste0("Recap_",i)
  name2 <- paste0("IC95_",i)
  temp <- GrandFichierMenagesC1 %>
  group_by(C1_Zona_enc, C1_Estr_muestr, Iteration) %>
  summarise(
    Nb_mzas = length(unique(Id_mza)),
    Nb_hog_sim = round(sum(Poids_bootstrap_dk_etoile),2),
    test = round(Weighted.mean(get(i), Poids_bootstrap_dk_etoile, na.rm = TRUE), 2),
  ) %>
  as.data.frame()
}
```r
names(temp)[names(temp) == "test"] <- paste0("Weighted_mean_,i")
temp[is.na(temp)] <- 0

# pour trier les enregistrements suivant l'ordre des strates
temp <- temp[order(
    temp$C1_Estr_muestr,
    decreasing = FALSE), ]

# ajout d'une colonne avec la moyenne des valeurs estimées par strate / zone (utile pour les graphiques)
temp <- temp %>% group_by(C1_Zona_enc, C1_Estr_muestr) %>% mutate(Average_Weighted_mean = round(mean(get(paste0("Weighted_mean_,i))),2))

## Add a worksheet
addWorksheet(wb, i, gridLines = FALSE)

## create plot objects
p1 <- ggplot(data = temp, aes(x = C1_Zona_enc, y = get(paste0("Weighted_mean_,i))), fill = C1_Estr_muestr)) +
    geom_boxplot(notchwidth = 0.5, outlier.shape = NA) +
    ylim(-0.5,7) +
    labs(x = "Zone / Strate", y = paste0("Weighted_mean_,i")) +
    scale_fill_manual(breaks = unique(temp$C1_Estr_muestr), values = rbPal)

## Insert currently displayed plot to current sheet, row 3, column 2
print(p1) # plot needs to be showed
insertPlot(wb, i, width = 3000, height = 2000, units = "px", startRow = 3, startCol = 2,
    type = "png")

## Add a worksheet
addWorksheet(wb2, i, gridLines = FALSE)

## create plot objects (affichage des histogrammes des distributions simulées par strate / zone)
p2 <- ggplot(temp, aes(x = get(paste0("Weighted_mean_,i))), fill = C1_Estr_muestr)) +
    geom_histogram(position = "identity", color = "white") +
    themeBW() +
    theme(strip.text = element_text( face = "bold")) +
    geom_vline(aes(xintercept = Average_Weighted_mean), color = "black", linetype = "longdash", size = 0.75) +
    xlab(paste0("Weighted_mean_,i," Simul")) + ylab("Frecuencia") +
    geom_text(y = 400, aes(x = Average_Weighted_mean, label = Average_Weighted_mean), size = 3, hjust = -.4) +
    scale_fill_manual(breaks = unique(temp$C1_Estr_muestr), values = rbPal) +
    facet_grid(C1_Zona_enc ~ C1_Estr_muestr)

## Insert currently displayed plot to current sheet
print(p2) # plot needs to be showed
insertPlot(wb2, i, width = 5000, height = 2200, units = "px", startRow = 1, startCol = 1,
    type = "png")

temp2 <- temp %>%
    group_by(C1_Zona_enc, C1_Estr_muestr) %>%
    summarise(
        A = round(quantile(get(paste0("Weighted_mean",i)), 0.025, na.rm = TRUE), 2),
        B = round(mean(get(paste0("Weighted_mean",i)), na.rm = TRUE), 2),
        C = round(quantile(get(paste0("Weighted_mean",i)), 0.975, na.rm = TRUE), 2),
        D = round(quantile(get(paste0("Weighted_mean",i)), 0.975, na.rm = TRUE) -
            quantile(get(paste0("Weighted_mean",i)), 0.025, na.rm = TRUE), 2),
        E = round(mean(Nb_hog_sim),0)
    )

names(temp2) <- c("C1_Zona_enc", "C1_Estr_muestr", paste0("IC_Inf", i), paste0("Mean", i),
    paste0("IC_Sup", i), paste0("Amplitude_IC", i), "Nb_hog_sim")
list_slots[[name2]] <- temp2
}

# Save worksheet to Excel
write.xlsx(list_slots, file = "IC95_C1_Bootstrap.xlsx",
    colWidths = "auto", withFilter = openxlxs_getOp("withFilter", TRUE))
browseURL("IC95_C1_Bootstrap.xlsx")

# Save workbook
saveWorkbook(wb, "IC95_C1_Bootstrap_Graphs.xlsx", overwrite = TRUE)
browseURL("IC95_C1_Bootstrap_Graphs.xlsx")

saveWorkbook(wb2, "IC95_C1_Bootstrap_Graphs_2.xlsx", overwrite = TRUE)
browseURL("IC95_C1_Bootstrap_Graphs_2.xlsx")
```
rm(i, p1, p2, wb, wb2)

##########
# CALCUL DES IC95 SANS BOUCLE (SUR UN EXEMPLE "C1_Pers_tot") PAR ZONE

# création d'un tableau qui contiendra l'ensemble des résumés statistiques
# pour chaque zone, chaque strate (pour l'indicateur C1_Pers_tot)
Recap_Zone_C1_Pers_tot <- GrandFichierMenagesC1 %>
group_by(C1_Zona_enc, Iteration) %>
summarise(
  Nb_mzas = length unique(Id_mza)),
  Nb_hog = round sum(Poids_bootstrap_dk_etoile),2),
  Weighted_mean_C1_Pers_tot = round(Weighted_mean(C1_Pers_tot, Poids_bootstrap_dk_etoile),
2),
) %>
as.data.frame()

# pour calculer les intervalles de confiance empiriques par zone (pour l'indicateur C1_Pers_tot)
Recap_Zone_IC_C1_Pers_tot <- Recap_Zone_C1_Pers_tot %>
group_by(C1_Zona_enc) %>
summarise(
  IC_Inf_C1_Pers_tot = round(quantile(Weighted_mean_C1_Pers_tot, 0.025), 2),
  Mean_C1_Pers_tot = round(mean(Weighted_mean_C1_Pers_tot), 2),
  IC_Sup_C1_Pers_tot = round(quantile(Weighted_mean_C1_Pers_tot, 0.975), 2),
  Amplitude_IC_C1_Pers_tot = round(quantile(Weighted_mean_C1_Pers_tot, 0.975) -
quantile(Weighted_mean_C1_Pers_tot, 0.025), 2),
  Nb_hog = round(mean(Nb_hog),0)
)

# affichage des boîtes à moustaches
# création d'une palette de couleurs
rbPal2 <- c("#c43c39", "#33a02c", "#ffff00", "#a628e3")

ggplot(data = Recap_Zone_C1_Pers_tot, aes(x = C1_Zona_enc, y = Weighted_mean_C1_Pers_tot, fill = C1_Zona_enc)) +
  geom_boxplot(notchwidth = 0.5, outlier.shape = NA) +
  ylim(2,6) +
  labs(x = "Zone", y = "Weighted_mean C1_Pers_tot") +
  scale_fill_manual(breaks = unique(Recap_Zone_C1_Pers_tot$C1_Zona_enc), values = rbPal2)

# ajout d'une colonne avec la moyenne des valeurs estimées par strate / zone (utile pour les graphiques)
Recap_Zone_C1_Pers_tot <- Recap_Zone_C1_Pers_tot %>
group_by(C1_Zona_enc) %>
mutate(Average_Weighted_mean = round(mean(Weighted_mean_C1_Pers_tot),2))

# affichage des histogrammes des distributions simulées par strate / zone

ggplot(Recap_Zone_C1_Pers_tot, aes(x = Weighted_mean_C1_Pers_tot, fill = C1_Zona_enc)) +
  geom_histogram(position = "identity", color = "white") +
  theme_bw() +
  theme(strip.text = element_text(face = "bold")) +
  geom_vline(aes(xintercept = Average_Weighted_mean), color = "black", linetype = "longdash",
size = 0.75) +
  xlab("Weighted_mean_C1_Pers_tot_Simul") + ylab("Frecuencia") +
  geom_text(y = 400, aes(x = Average_Weighted_mean, label = Average_Weighted_mean), size = 3,
hjust = -.4) +
  scale_fill_manual(breaks = unique(Recap_Zone_C1_Pers_tot$C1_Zona_enc), values = rbPal2) +
  facet_grid(~C1_Zona_enc)

##########
# CALCUL DES IC95 AVEC BOUCLE (PAR ZONE) SUR TOUTES LES VARIABLES QUANTI DU C1

# création d'une liste de variables quanti
C1_listvar_quanti <- c("C1_Pers_tot", "C1_Pers_estu", "C1_Pers_trab", "C1_Cuart_tot",
"C1_Cuart_dorm", "C1_Celul_hog", "C1_PC_laptop_hog")

# création d'une liste de variables catégorielles
C1_listvar quali <- c("C1_Tipo_vivien", "C1_Tenenc_vivien", "C1_Celul_tenenc", "C1_PC_tenenc",
"C1_Laptop_tenenc", "C1_Internet_tenenc", "C1_Estr_vivien", "C1_Ingr_hog")

# affichage des boîtes à moustaches
# création d'une palette de couleurs
rbPal2 <- c("#c43c39", "#33a02c", "#ffff00", "#a628e3")

# Create workbooks (for storing graphs)

wb3 <- createWorkbook()

wb4 <- createWorkbook()

# create a list (for storing IC values)

list_slots <- list()

for(i in C1_listvar_quanti) {

name <- paste0("Recap_",i)

name2 <- paste0("IC95_",i)

temp3 <- GrandFichierMenagesC1 %>%

group_by(C1_Zona_enc, Iteration) %>%

summarise(

Nb_mzas = length unique(Id_mza)),

Nb_hog_sim = round(sum(Poids_bootstrap.dk_etoile),2),

test = round(weighted.mean(get(i), Poids_bootstrap.dk_etoile, na.rm = TRUE), 2),
) %>

as.data.frame()

names(temp3)[names(temp3) == "test"] <- paste0("Weighted_mean_",i)

temp3[is.na(temp3)][-0]

# pour trier les enregistrements suivant l'ordre des strates

temp3 <- temp3[order(

temp3$C1_Zona_enc,

decreasing = FALSE), ]

# ajoute d'une colonne avec la moyenne des valeurs estimées par strate / zone (utile pour les
graphiques)

temp3 <- temp3 %>% group_by(C1_Zona_enc) %>% mutate(Average_Weighted_mean = round(mean(get(paste0("Weighted_mean_",i))),2))

## Add a worksheet

addWorksheet(wb3, i, gridLines = FALSE)

## create plot objects

p3 <- ggplot(data = temp3, aes(x = C1_Zona_enc, y = get(paste0("Weighted_mean_",i)), fill = C1_Zona_enc)) +

geom_boxplot(notchwidth = 0.5, outlier.shape = NA) +

ylim(0,5)+

labs(x = "Zone", y = paste0("Weighted_mean_",i)) +

scale_fill_manual(breaks = unique(temp3$C1_Zona_enc), values = rbPal2)

## Insert currently displayed plot to current sheet, row 3, column 2

print(p3) # plot needs to be showed

insertPlot(wb3, i, width = 3000, height = 2000, units = "px", startRow = 3, startCol = 2,
FileType = "png")

## Add a worksheet

addWorksheet(wb4, i, gridLines = FALSE)

## create plot objects (affichage des histogrammes des distributions simulées par zone)

p4 <- ggplot(temp3, aes(x = get(paste0("Weighted_mean_",i)), fill = C1_Zona_enc)) +

geom_histogram(position = "identity", color = "white") +

themeBW() +

theme strip.text = element_text(face = "bold")) +

geom_vline(aes(xintercept = Average_Weighted_mean), color = "black", linetype =

"longdash", size = 0.75) +

xlab(paste0("Weighted_mean_",i,"_Simul")) + ylab("Frecuencia") +

geom_text(y = 150, aes(x = Average_Weighted_mean, label = Average_Weighted_mean), size =

3, hjust = -.4) +

scale_fill_manual(breaks = unique(temp3$C1_Zona_enc), values = rbPal2)

facet_grid(~ C1_Zona_enc)

## Insert currently displayed plot to current sheet

print(p4) # plot needs to be showed

insertPlot(wb4, i, width = 5000, height = 2200, units = "px", startRow = 1, startCol = 1,
FileType = "png")

temp4 <- temp3 %>%

group_by(C1_Zona_enc) %>%

summarise(

A = round(quantile(get(paste0("Weighted_mean_",i)), 0.025, na.rm = TRUE), 2),

B = round(mean(get(paste0("Weighted_mean_",i)), na.rm = TRUE), 2),

C = round(quantile(get(paste0("Weighted_mean_",i)), 0.975, na.rm = TRUE), 2),
D = round(quantile(get(paste0("Weighted_mean_",i)), 0.975, na.rm = TRUE) - quantile(get(paste0("Weighted_mean_",i)), 0.025, na.rm = TRUE), 2), E = round(mean(Nb_hog_sim),0) ) names(temp4) <- c("C1_Zona_enc", paste0("IC_Inf_", i), paste0("Mean_", i), paste0("IC_Sup_", i), paste0("Amplitude_IC_", i), "Nb_hog_sim") list_slots2[[name2]] <- temp4 }

# Save worksheet to Excel
write.xlsx(list_slots2, file = "IC95_C1_Bootstrap_Zone.xlsx",
  colWidths = "auto", withFilter = openxlxs_getOp("withFilter", TRUE))
browseURL("IC95_C1_Bootstrap_Zone.xlsx")

# Save workbookw
saveWorkbook(wb3, "IC95_C1_Bootstrap_Graphs_Zone.xlsx", overwrite = TRUE)
browseURL("IC95_C1_Bootstrap_Graphs_Zone.xlsx")

saveWorkbook(wb4, "IC95_C1_Bootstrap_Graphs_2_Zone.xlsx", overwrite = TRUE)
browseURL("IC95_C1_Bootstrap_Graphs_2_Zone.xlsx")

rm(i, p3, p4, wb3, wb4)
rm(temp, temp2, temp3, temp4)
16. Résultat du calcul des valeurs moyennes simulées des estimateurs (exemples issus du module 1 du questionnaire)

Nombre moyen de pièces par logement, et intervalles de confiance

<figure><img src="image_896.png" /></figure>

Boîte à moustaches représentant les valeurs moyennes simulées du nombre moyen de pièces par logement, par zone d'enquête et par strate d'échantillonnage (Source : données d'enquête par questionnaire Modural, 1000 itérations)
<figure><img src="image_897.png" /></figure>

Histogramme représentant les valeurs moyennes simulées du nombre moyen de pièces par logement, par zone d'enquête et par strate d'échantillonnage
(Source : données d'enquête par questionnaire Modural, 1000 itérations)
<table><thead><tr><td>Zone d'enquête</td><td>Strate d'échantillonnage</td><td>Borne inférieure IC95</td><td>Moyenne des valeurs moyennes simulées</td><td>Borne supérieure IC95</td><td>Amplitude intervalle IC95</td></tr></thead><tbody><tr><td>Altos de Cazucá</td><td>3,67</td><td>4,88</td><td>6</td><td>2,33</td><td>3,67</td></tr><tr><td>Altos de Cazucá</td><td>3,03</td><td>3,33</td><td>3,62</td><td>0,59</td><td>3,03</td></tr><tr><td>Altos de Cazucá</td><td>3,15</td><td>3,47</td><td>3,74</td><td>0,59</td><td>3,15</td></tr><tr><td>Altos de Cazucá</td><td>2,6</td><td>2,64</td><td>2,67</td><td>0,07</td><td>2,6</td></tr><tr><td>El Porvenir</td><td>3,3</td><td>3,67</td><td>4,07</td><td>0,77</td><td>3,3</td></tr><tr><td>El Porvenir</td><td>3,39</td><td>3,55</td><td>3,76</td><td>0,37</td><td>3,39</td></tr><tr><td>El Rincón Suba</td><td>3,18</td><td>3,43</td><td>3,67</td><td>0,49</td><td>3,18</td></tr><tr><td>El Rincón Suba</td><td>3,09</td><td>3,28</td><td>3,48</td><td>0,39</td><td>3,09</td></tr><tr><td>El Rincón Suba</td><td>3,33</td><td>3,53</td><td>3,74</td><td>0,41</td><td>3,33</td></tr><tr><td>El Rincón Suba</td><td>3,64</td><td>3,88</td><td>4,15</td><td>0,51</td><td>3,64</td></tr><tr><td>El Rincón Suba</td><td>2,86</td><td>3,26</td><td>3,78</td><td>0,92</td><td>2,86</td></tr><tr><td>Lucero</td><td>3,4</td><td>3,68</td><td>3,96</td><td>0,56</td><td>3,4</td></tr><tr><td>Lucero</td><td>2,83</td><td>3,11</td><td>3,46</td><td>0,63</td><td>2,83</td></tr><tr><td>Lucero</td><td>2,36</td><td>2,69</td><td>3,11</td><td>0,75</td><td>2,36</td></tr><tr><td>Lucero</td><td>3,19</td><td>3,62</td><td>4,03</td><td>0,84</td><td>3,19</td></tr></tbody></table>

Moyennes et intervalles de confiance empiriques à 95% des valeurs moyennes simulées du nombre moyen de pièces par logement, par zone d'enquête et par strate d'échantillonnage (Source : données d'enquête par questionnaire Modural, 1000 itérations)

<table><thead><tr><td>Zone d'enquête</td><td>Borne inférieure IC95</td><td>Moyenne des valeurs moyennes simulées pondérées</td><td>Borne supérieure IC95</td><td>Amplitude intervalle IC95</td></tr></thead><tbody><tr><td>Altos de Cazucá</td><td>3,22</td><td>3,44</td><td>3,65</td><td>0,43</td></tr><tr><td>El Porvenir</td><td>3,42</td><td>3,58</td><td>3,77</td><td>0,35</td></tr><tr><td>El Rincón Suba</td><td>3,3</td><td>3,43</td><td>3,55</td><td>0,25</td></tr><tr><td>Lucero</td><td>3,32</td><td>3,51</td><td>3,7</td><td>0,38</td></tr></tbody></table>

Moyennes et intervalles de confiance empiriques à 95% des valeurs moyennes simulées du nombre moyen pondéré de pièces par logement par zone d'enquête

(Source : données d'enquête par questionnaire Modural, 1000 itérations)
<figure><img src="image_898.png" /><figcaption>Nombre moyen d'ordinateurs (de bureau, portables et tablettes) par personne, et intervalles de confiance</figcaption></figure>

Boîte à moustaches représentant les valeurs moyennes simulées du nombre moyen d'ordinateurs (de bureau, portables et tablettes) par personne, par zone d'enquête et par strate d'échantillonnage (Source : données d'enquête par questionnaire Modural, 1000 itérations)
<figure><img src="image_899.png" /></figure>

Histogramme représentant les valeurs moyennes simulées du nombre moyen d'ordinateurs (de bureau, portables et tablettes) par personne, par zone d'enquête et par strate d'échantillonnage (Source : données d'enquête par questionnaire Modural, 1000 itérations)
<table><thead><tr><td>Zone d'enquête</td><td>Strate d'échantillonnage</td><td>Borne inférieure IC95</td><td>Moyenne des valeurs moyennes simulées</td><td>Borne supérieure IC95</td><td>Amplitude intervalle IC95</td></tr></thead><tbody><tr><td>Altos de Cazucá</td><td>0</td><td>0,22</td><td>0,43</td><td>0,43</td><td>0</td></tr><tr><td>Altos de Cazucá</td><td>0</td><td>0,24</td><td>0,4</td><td>0,4</td><td>0</td></tr><tr><td>Altos de Cazucá</td><td>0,29</td><td>0,45</td><td>0,58</td><td>0,29</td><td>0,29</td></tr><tr><td>Altos de Cazucá</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>El Porvenir</td><td>0,42</td><td>0,59</td><td>0,8</td><td>0,38</td><td>0,42</td></tr><tr><td>El Porvenir</td><td>0,53</td><td>0,59</td><td>0,64</td><td>0,11</td><td>0,53</td></tr><tr><td>El Rincón Suba</td><td>0,68</td><td>0,83</td><td>1</td><td>0,32</td><td>0,68</td></tr><tr><td>El Rincón Suba</td><td>0,69</td><td>0,88</td><td>1,06</td><td>0,37</td><td>0,69</td></tr><tr><td>El Rincón Suba</td><td>0,67</td><td>0,84</td><td>1,05</td><td>0,38</td><td>0,67</td></tr><tr><td>El Rincón Suba</td><td>0,69</td><td>0,9</td><td>1,07</td><td>0,38</td><td>0,69</td></tr><tr><td>El Rincón Suba</td><td>0</td><td>1,43</td><td>3</td><td>3</td><td>0</td></tr><tr><td>Lucero</td><td>0,35</td><td>0,51</td><td>0,75</td><td>0,4</td><td>0,35</td></tr><tr><td>Lucero</td><td>0</td><td>0,24</td><td>0,4</td><td>0,4</td><td>0</td></tr><tr><td>Lucero</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>Lucero</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr></tbody></table>

Moyennes et intervalles de confiance empiriques à 95% des valeurs moyennes simulées du nombre moyen d'ordinateurs (de bureau, portables et tablettes) par personne, par zone d'enquête et par strate d'échantillonnage (Source : données d'enquête par questionnaire Modural, 1000 itérations)

<table><thead><tr><td>Zone d'enquête</td><td>Borne inférieure IC95</td><td>Moyenne des valeurs moyennes simulées pondérées</td><td>Borne supérieure IC95</td><td>Amplitude intervalle IC95</td></tr></thead><tbody><tr><td>Altos de Cazucá</td><td>0,33</td><td>0,44</td><td>0,54</td><td>0,21</td></tr><tr><td>El Porvenir</td><td>0,53</td><td>0,59</td><td>0,66</td><td>0,13</td></tr><tr><td>El Rincón Suba</td><td>0,77</td><td>0,87</td><td>0,98</td><td>0,21</td></tr><tr><td>Lucero</td><td>0,36</td><td>0,5</td><td>0,71</td><td>0,35</td></tr></tbody></table>

Moyennes et intervalles de confiance empiriques à 95% des valeurs moyennes simulées du nombre moyen pondéré d'ordinateurs (de bureau, portables et tablettes) par personne, par zone d'enquête (Source : données d'enquête par questionnaire Modural, 1000 itérations)