La Encuesta Multipropósito Bogotá - Cundinamarca (EM 2021) es una operación estadística que permite recoger información sobre diferentes aspectos de las condiciones de vida y capacidad de pago de los habitantes de Bogotá y de los municipios seleccionados del departamento de Cundinamarca. La EM 2021 se realizará en las 19 localidades urbanas por UPZ; en la localidad rural de Sumapaz y en el área rural de las localidades de Usaquén, Chapinero, Santa Fe, San Cristóbal, Usme, Suba y Ciudad Bolívar. En Cundinamarca la EM 2021 tendrá cobertura en la zona urbana de 21 municipios y en la zona rural de 7 municipios (Departamento Administrativo Nacional de Estadística - DANE, n.d.).
2 Manejo de la base de datos
En la sección del Archivo Nacional de Datos - ANDA «Materiales relacionados - Documentación técnica»1 se encuentra el archivo “Estructura de la base de datos” el cual permite:
Conocer los capítulos que conforman la encuesta y la unidad de análisis2 de cada uno de los capítulos
Entender como se puede hacer la consolidación o pegue de la base de datos, por medio de las diferentes llaves o identificadores
Para el caso de la EM 2021 se tiene que esta conformada por 14 tablas, así:
Figure 1: Estructura EM 2021
2.1 Estructura de la base de datos
Lo primero es determinar cuál es la unidad de análisis mínima que se analizará en el estudio.
Figure 2: Unidades de análisis EM 2021
2.2 Ejemplo1️⃣
Por ejemplo, si los datos que quiero analizar se encuentran relacionados con los servicios publicos domiciliarios:
La unidad de análisis sera hogares
Se utilizará la tabla correspondiente al capítulo D. Servicios públicos domiciliarios y de TIC
Para poder caracterizar los hogares, es necesario traer la información de las viviendas en el capítulo A. Identificación (municipio, estrato, urbano o rural)
Se deben pegar entonces las bases de datos de los capítulos A. Identificación (Vivienda) y D. Servicios públicos domiciliarios y de TIC (Hogares).
Para esto se usa entonces la variable «Directorio», que es el identificador único de las viviendas en la base de datos.
Figure 3: Llaves de identificación EM 2021
2.3 Ejemplo2️⃣
Si por el contrario se quiere conocer por ejemplo, sobre la salud de las personas encuestadas pertenencientes a cada hogar.
La unidad de análisis sera personas
Se utilizará la tabla correspondiente al capítulo F. Salud
Para poder caracterizar las personas, es necesario traer la información de las viviendas en el capítulo A. Identificación (municipio, estrato, urbano o rural) y pegarlo con la identificación del hogar.
Para esto se usa entonces la variable «Directorio», que es el identificador único de las viviendas de la base de datos.
Luego de tener la base de datos a nivel de viviendas y hogares, se debe pegar esta con la base de datos F. Salud (personas).
Para esto, entonces se usa la variable «Directorio_Hog» que es la llave única de los hogares en la base de datos.
Finalmente, para tener la información correspondiente a características de las personas como sexo, edad, entre otros…, se debe pegar la base de datos con el capítulo E. Composición del hogar y demografía.
Usando la variable «Directorio_Per» que es el identificador único de cada una de las personas que se encuestaron
Figure 4: Ejemplo integración de datos EM 2024
2.4 Diccionario de datos
En la documentación técnica de la encuesta también se encuentra el «Diccionario anonimizado» de la encuesta.
Este archivo contiene cada una de las variables que hay en las tablas (capitulos) y los valores que toma cada una de estas (rango de la variable). Además, permite relacionar las preguntas de la encuesta (formulario) con el capítulo y las variables en que se encuentra dicha pregunta.
A continuación, se presenta un ejemplo del diccionario de datos de la EM_2021.
Figure 5: Diccionario de datos
2.5 ¿Qué quiero analizar?
En este apartado se seleccionaran las preguntas y variables que se requieren para el análisis de la Encuesta Multiproposito EM_2021.
Figure 6: Definición de la temática a analizar EM 2021
La pregunta se presenta así en el formulario de recolección de la EM_2021
Figure 7: Pregunta NPCJP1 en el formulario de recolección EM 2021
Analizando la pregunta, se tiene que esta es una pregunta de respuesta múltiple la cual permite seleccionar de la lista de opciones una o más respuestas. Sin embargo, si la persona responde que «No pertenece a ninguna de las anteriores organizaciones» no debe marcar ninguna otra alternativa.
Al buscar esta pregunta en el diccionario y en la base de datos, se tiene que esta pregunta se encuentra en la tabla «DBF_MTP_258_6», en las columnas «NPCJP1A» a «NPCJP1Q» así:
Table 1: Pregunta NPCJP1
Variable
1. De las siguiente organizaciones sociales, culturales, políticas, religiosas, productivas o gremiales ¿a cuál(es) pertenece …?:
NPCJP1A
1. Organización religiosa, de fe o grupo de oración
NPCJP1B
2. Organización artística (música, danza, teatro, etc)
NPCJP1C
3. Organización deportiva o de recreación
NPCJP1D
4. Asociación de padres familia, ex-alumno/as
NPCJP1E
5. Cooperativa o asociación de productores o comerciantes
NPCJP1F
6. Organización ambientalista, de atención en salud o de caridad
NPCJP1G
7. Grupo o partido político ✅
NPCJP1H
8. Organización de propiedad horizontal
NPCJP1I
9. Junta de acción comunal, cívica barrial o de seguridad y vigilancia
NPCJP1J
10. Asociación profesional, cámara, gremio o sindicato
NPCJP1K
11. Grupos urbanos (metaleros, skinheads, emos, entre otros)
NPCJP1L
12. Organización étnica (autoridad indígena, grupo de negritudes, comunidades afrodescendientes, ROM)
NPCJP1M
13. Grupo de adultos mayores
NPCJP1N
14. Organizaciones LGBTI (lesbianas, Gays, Bisexuales, Transgeneristas e Intersexuales)
NPCJP1O
15. Asociación de acueducto veredal (Solo para rural)
NPCJP1P
16. Otra organización
NPCJP1Q
17. No pertenece a ninguna de las anteriores organizaciones
Si por ejemplo, se quiere analizar a las personas que están inscritas en partidos políticos se debe trabajar con la variable NPCJP1G
3 Consolidación de la base de datos para el análisis
3.1 Definir los paquetes a utilizar en el análisis y algunas características básicas.
Cargar los paquetes dplyr, ggplot2, DescTools.
library(dplyr)
Warning: package 'dplyr' was built under R version 4.3.3
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
library(ggplot2)
Warning: package 'ggplot2' was built under R version 4.3.3
library(DescTools)
Warning: package 'DescTools' was built under R version 4.3.3
Configurar para que los resultados no salgan en notación científica.
options(scipen=999)
3.2 Cargar las bases de datos
Las bases de datos se descargan desde el ANDA y están organizadas por cada uno de los capítulos. Cada base de datos descarga una carpeta que contiene los archivos en diferentes formatos:
DTA: Base de datos en el formato del software STATA
SAV: Base de datos en el formato del software SPSS
CSV: Archivo de texto que almacena datos en forma de tabla separados por comas
❗ Nota:
Para el caso de análisis de datos, se recomienda utilizar las bases en formato DTA o SAV.
library(haven) #cargar datos en formato sav
Warning: package 'haven' was built under R version 4.3.3
identi <-read_sav("U:/Mi unidad/Analytics I/2024 - II/MULTI/Identificacion (Capitulo A)/Identificación (Capítulo A).sav")parti <-read_sav("U:/Mi unidad/Analytics I/2024 - II/MULTI/Participacion en organizaciones y redes sociales (Capitulo J)/Participación en organizaciones y redes sociales (Capítulo J).sav")demo <-read_sav("U:/Mi unidad/Analytics I/2024 - II/MULTI/Composicion del hogar y demografia ( Capitulo E)/Composicion del hogar y demografia ( Capitulo E).sav")
3.3 Realizar el pegue o unión de las bases de datos
Primero se desea saber cuantas filas o registros tiene la base de datos de participación, así como los nombres de la misma.
Luego se realiza el pegue de la base de datos de participación con la base de datos de identificación de las viviendas, la cuál cuenta con xx registros.
El pegue se realiza usando el paquete dplyr, realizando una operación `left_join` para combinar las dos tablas (`parti` e `identi`) utilizando una columna común (`DIRECTORIO`):
bdfinal <- parti %>%left_join(identi, by =c("DIRECTORIO"="DIRECTORIO"))
library(car)some(bdfinal,20)
Table 2: 20 registros de la base de datos final
Esta base de datos sigue contando con los 260.476 registros de la base de datos de participación (personas mayores a 18 años) y no con los 319.952 encuestados, debido a que el pegue se realizo hacia la izquierda (left_join).
left_join() combina las filas de dos tablas basándose en una columna compartida, aquí DIRECTORIO.
En un left_join, el resultado (almacenado en bdfinal) contiene todas las filas de la tabla izquierda (parti). A estas se les añaden las columnas de la tabla derecha (identi) solo cuando hay coincidencias en la columna especificada.
Si alguna fila de parti no encuentra coincidencia en identi, esa fila se conserva en el resultado, y las nuevas columnas de identi se rellenan con NA.
El left_join es útil para unir datos sin perder información de la tabla izquierda. En este ejemplo, bdfinal tendrá todas las filas de parti, junto con las columnas de identi cuando exista una coincidencia en DIRECTORIO.
Figure 8: Left join
Es decir, no voy a tener en la base de datos a las personas encuestadas menores de 18 años, pues a estas no se les pregunta el capítulo J. Participación.
Por último, realizamos la unión de esta base de datos con los datos de la tabla E. Composición del hogar y demografía
bd <- bdfinal %>%left_join(demo, by ="DIRECTORIO_PER")
Elemento de estudio sobre el que se presentan los resultados o las conclusiones de la operación estadística. (DANE, n.d.)↩︎
Source Code
---title: "Análisis Encuesta multipropósito - EM 2021"autor: "Julieth Lina Fernanda Zorro Melo"highlight-style: pygmentsformat: html#theme: pandoc theme: lumen #https://bootswatch.com/editor: visualtoc: true#toc-location: right-bodytoc-location: rightnumber-sections: trueother-links: - text: DANE - Encuesta Multipropósito Bogotá & Cundinamarca - 2021 href: https://microdatos.dane.gov.co/index.php/catalog/743bibliography: references.bibcode-tools: truecode-fold: false#code-summary: "Show the code"code-block-bg: truecode-block-border-left: "#31BAE9"code-line-numbers: truecode-copy: true---## AlcanceLa Encuesta Multipropósito Bogotá - Cundinamarca (EM 2021) es una operación estadística que permite recoger información sobre diferentes aspectos de las condiciones de vida y capacidad de pago de los habitantes de Bogotá y de los municipios seleccionados del departamento de Cundinamarca. La EM 2021 se realizará en las 19 localidades urbanas por UPZ; en la localidad rural de Sumapaz y en el área rural de las localidades de Usaquén, Chapinero, Santa Fe, San Cristóbal, Usme, Suba y Ciudad Bolívar. En Cundinamarca la EM 2021 tendrá cobertura en la zona urbana de 21 municipios y en la zona rural de 7 municipios [@departamentoadministrativonacionaldeestadística].## Manejo de la base de datosEn la sección del Archivo Nacional de Datos - ANDA «Materiales relacionados - Documentación técnica»[^1] se encuentra el archivo "*Estructura de la base de datos*" el cual permite:[^1]: <https://microdatos.dane.gov.co/index.php/catalog/743>1. Conocer los capítulos que conforman la encuesta y la unidad de análisis[^2] de cada uno de los capítulos2. Entender como se puede hacer la consolidación o pegue de la base de datos, por medio de las diferentes llaves o identificadores[^2]: Elemento de estudio sobre el que se presentan los resultados o las conclusiones de la operación estadística. [@daneglosario]Para el caso de la EM 2021 se tiene que esta conformada por 14 tablas, así:.png){#fig-1}------------------------------------------------------------------------### Estructura de la base de datosLo primero es determinar cuál es la unidad de análisis mínima que se analizará en el estudio..png){#fig-2}### Ejemplo1️⃣Por ejemplo, si los datos que quiero analizar se encuentran relacionados con los servicios publicos domiciliarios:- La unidad de análisis sera hogares- Se utilizará la tabla correspondiente al capítulo D. Servicios públicos domiciliarios y de TIC- Para poder caracterizar los hogares, es necesario traer la información de las viviendas en el capítulo A. Identificación (municipio, estrato, urbano o rural)- Se deben pegar entonces las bases de datos de los capítulos A. Identificación (Vivienda) y D. Servicios públicos domiciliarios y de TIC (Hogares).\ Para esto se usa entonces la variable «Directorio», que es el identificador único de las viviendas en la base de datos. .png){#fig-3}### Ejemplo2️⃣Si por el contrario se quiere conocer por ejemplo, sobre la salud de las personas encuestadas pertenencientes a cada hogar.- La unidad de análisis sera personas- Se utilizará la tabla correspondiente al capítulo F. Salud- Para poder caracterizar las personas, es necesario traer la información de las viviendas en el capítulo A. Identificación (municipio, estrato, urbano o rural) y pegarlo con la identificación del hogar.\ Para esto se usa entonces la variable «Directorio», que es el identificador único de las viviendas de la base de datos.- Luego de tener la base de datos a nivel de viviendas y hogares, se debe pegar esta con la base de datos F. Salud (personas).\ Para esto, entonces se usa la variable «Directorio_Hog» que es la llave única de los hogares en la base de datos.- Finalmente, para tener la información correspondiente a características de las personas como sexo, edad, entre otros..., se debe pegar la base de datos con el capítulo E. Composición del hogar y demografía. Usando la variable «Directorio_Per» que es el identificador único de cada una de las personas que se encuestaron.png){#fig-4}### Diccionario de datosEn la documentación técnica de la encuesta también se encuentra el «Diccionario anonimizado» de la encuesta.Este archivo contiene cada una de las variables que hay en las tablas (capitulos) y los valores que toma cada una de estas (rango de la variable). Además, permite relacionar las preguntas de la encuesta (formulario) con el capítulo y las variables en que se encuentra dicha pregunta.A continuación, se presenta un ejemplo del diccionario de datos de la EM_2021.{#fig-5}### ¿Qué quiero analizar?En este apartado se seleccionaran las preguntas y variables que se requieren para el análisis de la Encuesta Multiproposito EM_2021..png){#fig-6}La pregunta se presenta así en el formulario de recolección de la EM_2021{#fig-7}Analizando la pregunta, se tiene que esta es una pregunta de respuesta múltiple la cual permite seleccionar de la lista de opciones una o más respuestas. Sin embargo, si la persona responde que «No pertenece a ninguna de las anteriores organizaciones» no debe marcar ninguna otra alternativa.Al buscar esta pregunta en el diccionario y en la base de datos, se tiene que esta pregunta se encuentra en la tabla «`DBF_MTP_258_6`», en las columnas «`NPCJP1A`» a «`NPCJP1Q`» así:| Variable | 1\. De las siguiente organizaciones sociales, culturales, políticas, religiosas, productivas o gremiales ¿a cuál(es) pertenece ...?: ||:-----------:|:----------------------------------------------------------|| NPCJP1A | 1\. Organización religiosa, de fe o grupo de oración || NPCJP1B | 2\. Organización artística (música, danza, teatro, etc) || NPCJP1C | 3\. Organización deportiva o de recreación || NPCJP1D | 4\. Asociación de padres familia, ex-alumno/as || NPCJP1E | 5\. Cooperativa o asociación de productores o comerciantes || NPCJP1F | 6\. Organización ambientalista, de atención en salud o de caridad || **NPCJP1G** | **7. Grupo o partido político** ✅ || NPCJP1H | 8\. Organización de propiedad horizontal || NPCJP1I | 9\. Junta de acción comunal, cívica barrial o de seguridad y vigilancia || NPCJP1J | 10\. Asociación profesional, cámara, gremio o sindicato || NPCJP1K | 11\. Grupos urbanos (metaleros, skinheads, emos, entre otros) || NPCJP1L | 12\. Organización étnica (autoridad indígena, grupo de negritudes, comunidades afrodescendientes, ROM) || NPCJP1M | 13\. Grupo de adultos mayores || NPCJP1N | 14\. Organizaciones LGBTI (lesbianas, Gays, Bisexuales, Transgeneristas e Intersexuales) || NPCJP1O | 15\. Asociación de acueducto veredal (Solo para rural) || NPCJP1P | 16\. Otra organización || NPCJP1Q | 17\. No pertenece a ninguna de las anteriores organizaciones |: Pregunta NPCJP1 {#tbl- 1}Si por ejemplo, se quiere analizar a las personas que están inscritas en partidos políticos se debe trabajar con la variable **NPCJP1G**## Consolidación de la base de datos para el análisis### Definir los paquetes a utilizar en el análisis y algunas características básicas.- Cargar los paquetes dplyr, ggplot2, DescTools.```{r include = T} library(dplyr) library(ggplot2) library(DescTools)``````{r include = F} library(DT)```- Configurar para que los resultados no salgan en notación científica.```{r include = T}options(scipen=999)```### Cargar las bases de datosLas bases de datos se descargan desde el ANDA y están organizadas por cada uno de los capítulos. Cada base de datos descarga una carpeta que contiene los archivos en diferentes formatos:- DTA: Base de datos en el formato del software STATA- SAV: Base de datos en el formato del software SPSS- CSV: Archivo de texto que almacena datos en forma de tabla separados por comas> ❗ **Nota:**>> **Para el caso de análisis de datos, se recomienda utilizar las bases en formato DTA o SAV.**```{r include = T}library(haven) #cargar datos en formato savidenti <- read_sav("U:/Mi unidad/Analytics I/2024 - II/MULTI/Identificacion (Capitulo A)/Identificación (Capítulo A).sav")parti <- read_sav("U:/Mi unidad/Analytics I/2024 - II/MULTI/Participacion en organizaciones y redes sociales (Capitulo J)/Participación en organizaciones y redes sociales (Capítulo J).sav")demo <- read_sav("U:/Mi unidad/Analytics I/2024 - II/MULTI/Composicion del hogar y demografia ( Capitulo E)/Composicion del hogar y demografia ( Capitulo E).sav")```### Realizar el pegue o unión de las bases de datosPrimero se desea saber cuantas filas o registros tiene la base de datos de participación, así como los nombres de la misma.```{r include=T}nrow(parti) #260.476names(parti)```Luego se realiza el pegue de la base de datos de participación con la base de datos de identificación de las viviendas, la cuál cuenta con xx registros.```{r include=T}nrow(identi)names(identi)```El pegue se realiza usando el paquete *dplyr,* realizando una operación \`left_join\` para combinar las dos tablas (\`parti\` e \`identi\`) utilizando una columna común (\`DIRECTORIO\`):```{r include=T}bdfinal <- parti %>% left_join(identi, by = c("DIRECTORIO"="DIRECTORIO"))``````{r eval=FALSE, include=T}library(car)some(bdfinal,20)``````{r echo=FALSE}#| label: tbl-some#| tbl-cap: "20 registros de la base de datos final"# Muestra el head de la base de datos en una tabla interactivalibrary(DT)datatable( car::some(bdfinal,20), options = list(scrollX = TRUE, pageLength = 5), # Aplicar estilo CSS para reducir el tamaño de la letra class = 'compact', # Clase compacta para reducir espacio en la tabla callback = JS("$(document).ready(function() { $('#DataTables_Table_0').css('font-size', '12px'); });"))```Esta base de datos sigue contando con los 260.476 registros de la base de datos de participación (personas mayores a 18 años) y no con los 319.952 encuestados, debido a que el pegue se realizo hacia la izquierda (left_join).\1. `left_join()` combina las filas de dos tablas basándose en una columna compartida, aquí `DIRECTORIO`.2. En un `left_join`, el resultado (almacenado en `bdfinal`) contiene todas las filas de la tabla izquierda (`parti`). A estas se les añaden las columnas de la tabla derecha (`identi`) solo cuando hay coincidencias en la columna especificada.3. Si alguna fila de `parti` no encuentra coincidencia en `identi`, esa fila se conserva en el resultado, y las nuevas columnas de `identi` se rellenan con `NA`.El `left_join` es útil para unir datos sin perder información de la tabla izquierda. En este ejemplo, `bdfinal` tendrá todas las filas de `parti`, junto con las columnas de `identi` cuando exista una coincidencia en `DIRECTORIO`..png){#fig-8}Es decir, no voy a tener en la base de datos a las personas encuestadas menores de 18 años, pues a estas no se les pregunta el capítulo J. Participación.Por último, realizamos la unión de esta base de datos con los datos de la tabla E. Composición del hogar y demografía```{r}bd <- bdfinal %>%left_join(demo, by ="DIRECTORIO_PER")``````{r echo = FALSE}saveRDS(bd,"bd.RDS")``````{r eval=FALSE, include=FALSE}#knitr::write_bib(c("base","knitr","ahp"), # file="mibibliografiaPaquetes.bib")```