5.2 Estimación de proporciones
Otro parámetro de interés en las encuestas de hogares, particularmente con variables categóricas es la estimación de las proporciones poblacionales. En esta sección se estudiará la estimación de proporciones y sus errores estándares. En términos de notación se define la estimación de proporciones de población como \(p\) y proporciones de población como \(\pi\). Es normal observar que en muchos paquetes estadísticos optan por generar estimaciones de proporciones y errores estándar en la escala de porcentaje. R Genera las estimaciones de proporciones en escala [0,1]. A continuación, se presenta el código computacional para estimar la proporción de personas por zona:
<- diseno %>% group_by(Zone) %>%
prop_zona summarise(
prop = survey_mean(vartype = c("se","ci"),
proportion = TRUE ))
prop_zona
## # A tibble: 2 × 5
## Zone prop prop_se prop_low prop_upp
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Rural 0.480 0.0140 0.452 0.508
## 2 Urban 0.520 0.0140 0.492 0.548
Como se pudo observar, se usó la función survey_mean
para la estimación. Sin embargo, con el parámetro “proportion = TRUE”, se le indica a R
que lo que se desea estimar es una proporción. Para este ejemplo se puede observar que, el 47.9% de las personas viven en zona rural obteniendo un intervalo de confianza comprendido entre (45.2%, 50.7%) y el 52% de las personas viven en la zona urbana con un intervalo de confianza de (49.2%, 54.7%).
La librería survey
tiene implementado una función específica para estimar proporciones la cual es survey_prop
que genera los mismos resultados mostrados anteriormente. Le queda al lector la decisión de usar la función con la que más cómodo se sienta. A continuación, se muestra un ejemplo del uso de la función survey_prop
:
<- diseno %>% group_by(Zone) %>%
prop_zona2 summarise( prop = survey_prop(vartype = c("se","ci") ))
prop_zona2
## # A tibble: 2 × 5
## Zone prop prop_se prop_low prop_upp
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Rural 0.480 0.0140 0.452 0.508
## 2 Urban 0.520 0.0140 0.492 0.548
Si el interés ahora se centra en estimar subpoblaciones por ejemplo, proporción de hombres y mujeres que viven en la zona urbana, el código computacional es:
<- sub_Urbano %>% group_by(Sex) %>%
prop_sexoU summarise(prop = survey_prop(vartype = c("se","ci")))
prop_sexoU
## # A tibble: 2 × 5
## Sex prop prop_se prop_low prop_upp
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Female 0.537 0.0130 0.511 0.563
## 2 Male 0.463 0.0130 0.437 0.489
Arrojando como resultado que, el 53.6% de las mujeres y 46.4% de los hombres viven en la zona urbana y con intervalos de confianza (51%, 56.2%) y (43.7%, 48.9%) respectivamente. Los intervalos anteriores nos reflejan que, con una confianza del 95% la cantidad estimada de mujeres que viven en la zona urbana es de56% y de hombres es de 48%.
Realizando el mismo ejercicio anterior, pero ahora en la zona rural se tiene:
<- sub_Rural %>% group_by(Sex) %>%
prop_sexoR summarise( n = unweighted(n()),
prop = survey_prop(vartype = c("se","ci")))
prop_sexoR
## # A tibble: 2 × 6
## Sex n prop prop_se prop_low prop_upp
## <chr> <int> <dbl> <dbl> <dbl> <dbl>
## 1 Female 679 0.516 0.00824 0.500 0.533
## 2 Male 618 0.484 0.00824 0.467 0.500
el 51.6% de las mujeres y el 48.4% de los hombres viven en la zona rural con intervalos de confianza de (49.9%, 53.2%) y (46,7%, 50%) respectivamente. Los intervalos de confianza anteriores nos reflejan que, inclusive, con una confianza del 95%, la cantidad estimada de mujeres en la zona rural es de 53% y de hombres es de 50%.
Ahora bien, si nos centramos solo en la población de hombres en la base de datos y se desea estimar la proporción de hombres por zona, el código computacional es el siguiente:
<- sub_Hombre %>% group_by(Zone) %>%
prop_ZonaH summarise(prop = survey_prop(vartype = c("se","ci")))
prop_ZonaH
## # A tibble: 2 × 5
## Zone prop prop_se prop_low prop_upp
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Rural 0.491 0.0178 0.455 0.526
## 2 Urban 0.509 0.0178 0.474 0.545
En la anterior tabla se puede observar que el 49% de los hombres están en la zona rural y el 51% en la zona urbana. Si se observa el intervalo de confianza se puede concluir que, con una confianza del 95%, la población estimada de hombres que viven en la zona rural puede llegar a ser el 52% y en urbana un 54%.
Si se realiza ahora el mismo ejercicio para la mujeres el código computacional es:
<- sub_Mujer %>% group_by(Zone) %>%
prop_ZonaM summarise(prop = survey_prop(vartype = c("se","ci")))
prop_ZonaM
## # A tibble: 2 × 5
## Zone prop prop_se prop_low prop_upp
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Rural 0.470 0.0140 0.443 0.498
## 2 Urban 0.530 0.0140 0.502 0.557
De la tabla anterior se puede inferir que, el 47% de las mujeres están en la zona rural y el 52% en la zona urbana. Observando también intervalos de confianza al 95% de (44%, 49%) y (50%, 55%) para las zonas rural y urbana respectivamente.
Si se desea estimar por varios niveles de desagregación, con el uso de la función group_by
es posible estimar un mayor número de niveles de agregación al combinar dos o más variables. Por ejemplo, si se desea estimar la proporción de hombres por zona y en estado de pobreza, se realiza de la siguiente manera:
<- sub_Hombre %>%
prop_ZonaH_Pobreza group_by(Zone, Poverty) %>%
summarise(
prop = survey_prop(vartype = c("se","ci")))%>%
data.frame()
prop_ZonaH_Pobreza
## Zone Poverty prop prop_se prop_low prop_upp
## 1 Rural NotPoor 0.5488453 0.06264753 0.42434340 0.6675180
## 2 Rural Extreme 0.1975254 0.06745258 0.09582905 0.3637294
## 3 Rural Relative 0.2536293 0.03724070 0.18711180 0.3340755
## 4 Urban NotPoor 0.6599255 0.03662268 0.58415144 0.7283141
## 5 Urban Extreme 0.1128564 0.02451869 0.07264146 0.1712240
## 6 Urban Relative 0.2272181 0.02604053 0.17979436 0.2828371
De la salida anterior se puede observar que, en la ruralidad, el 19% de los hombres están en pobreza extrema mientras que en la zona urbana el 11% también están en pobreza extrema. Por otro lado, el 54% de los hombres que viven en la zona rural no están en pobreza mientras que, en la zona urbana el 65% no está en esta condición.
El mismo ejercicio anterior para la población de mujeres sería:
<- sub_Mujer %>%
prop_ZonaM_Pobreza group_by(Zone, Poverty) %>%
summarise( prop = survey_prop(vartype = c("se","ci"))) %>%
data.frame()
prop_ZonaM_Pobreza
## Zone Poverty prop prop_se prop_low prop_upp
## 1 Rural NotPoor 0.5539176 0.05568825 0.44281376 0.6598834
## 2 Rural Extreme 0.1599702 0.05574533 0.07728197 0.3021593
## 3 Rural Relative 0.2861122 0.04357612 0.20803909 0.3794466
## 4 Urban NotPoor 0.6612172 0.03224726 0.59475977 0.7218725
## 5 Urban Extreme 0.1093753 0.02209821 0.07267359 0.1613865
## 6 Urban Relative 0.2294075 0.02655874 0.18106582 0.2861459
De la salida anterior se puede observar que, en la ruralidad, el 16% de las mujeres están en pobreza extrema mientras que en la zona urbana el 10% también están en pobreza extrema. Por otro lado, el 55% de las mujeres que viven en la zona rural no están en pobreza mientras que, en la zona urbana el 66% no está en esta condición.
Si lo que se desea ahora es estimar la proporción de hombres empleados o no por zona, se realiza de la siguiente manera:
<- sub_Hombre %>%
prop_ZonaH_Ocupacion group_by(Zone, Employment) %>%
summarise(prop = survey_prop(vartype = c("se","ci")))%>%
data.frame()
prop_ZonaH_Ocupacion
## Zone Employment prop prop_se prop_low prop_upp
## 1 Rural Unemployed 0.05125186 0.015733138 0.02767737 0.09298588
## 2 Rural Inactive 0.10351629 0.020267044 0.06970747 0.15106011
## 3 Rural Employed 0.52251375 0.026522751 0.46994089 0.57459249
## 4 Rural <NA> 0.32271810 0.034987840 0.25763953 0.39547790
## 5 Urban Unemployed 0.04374724 0.008492664 0.02969659 0.06400729
## 6 Urban Inactive 0.16331307 0.018093938 0.13056379 0.20236490
## 7 Urban Employed 0.51337023 0.023637331 0.46658553 0.55992181
## 8 Urban <NA> 0.27956945 0.022085422 0.23799131 0.32531045
De la salida anterior se puede observar que, el 5% de los hombres que viven en la ruralidad están desempleados mientras que el 4% de los que viven en la zona urbana están en esta misma condición. Ahora bien, el 52% de los hombres que viven en la ruralidad trabajan mientras que el 51% de los que viven en la zona rural también están empleados.
Si se hace este mismo ejercicio para las mujeres se obtiene:
<- sub_Mujer %>%
prop_ZonaM_Ocupacion group_by(Zone, Employment) %>%
summarise(prop = survey_prop(vartype = c("se","ci"))) %>%
data.frame()
prop_ZonaM_Ocupacion
## Zone Employment prop prop_se prop_low prop_upp
## 1 Rural Unemployed 0.01017065 0.005540256 0.003443802 0.02964628
## 2 Rural Inactive 0.44719272 0.035247218 0.378871481 0.51756811
## 3 Rural Employed 0.23999716 0.039151859 0.171118101 0.32570701
## 4 Rural <NA> 0.30263948 0.030765644 0.245379430 0.36676711
## 5 Urban Unemployed 0.02109678 0.005964137 0.012019202 0.03677508
## 6 Urban Inactive 0.36445938 0.021442387 0.323143427 0.40787461
## 7 Urban Employed 0.38455672 0.019452094 0.346831628 0.42372325
## 8 Urban <NA> 0.22988711 0.013850398 0.203613820 0.25845036
Para las mujeres se puede observar que, el 1% de las mujeres que viven en la ruralidad están desempleados mientras que el 2% de las que viven en la zona urbana están en esta misma condición. Ahora bien, el 24% de las mujeres que viven en la ruralidad trabajan mientras que el 38% de las que viven en la zona rural también están empleados.
Otro parámetro que es de interés es estimar en encuestas de hogares la cantidad de personas menores y mayores de edad en los hogares. A continuación, ejemplificamos la estimación de menores y mayores a 18 años cruzado por pobreza:
%>% group_by(edad_18, pobreza) %>%
diseno summarise(Prop = survey_prop(vartype = c("se", "ci"))) %>%
data.frame()
## edad_18 pobreza Prop Prop_se Prop_low Prop_upp
## 1 < 18 anios 0 0.4984504 0.03729355 0.4251710 0.5717964
## 2 < 18 anios 1 0.5015496 0.03729355 0.4282036 0.5748290
## 3 >= 18 anios 0 0.6646140 0.02978353 0.6033275 0.7208132
## 4 >= 18 anios 1 0.3353860 0.02978353 0.2791868 0.3966725
De la anterior salida se puede observar que, el 50% de los menores de edad y el 33% de los mayores de edad están en estado de pobreza. Al observar los intervalos de confianza para los menores de edad en estado de pobreza se puede observar que, dicha estimación puede llegar, con una confianza del 95% a 57% mientras que a los mayores de edad puede llegar a 39%.
Ahora, si se hace este mismo ejercicio, pero esta vez cruzando con la variable que indica empleo se obtiene:
%>% group_by(edad_18, desempleo) %>%
diseno summarise(Prop = survey_prop(vartype = c("se", "ci"))) %>%
data.frame()
## edad_18 desempleo Prop Prop_se Prop_low Prop_upp
## 1 < 18 anios 0 0.166704172 0.014856561 0.139321648 0.19822898
## 2 < 18 anios 1 0.003729693 0.001969183 0.001309174 0.01057808
## 3 < 18 anios NA 0.829566135 0.015009188 0.797760089 0.85726505
## 4 >= 18 anios 0 0.955234872 0.007552778 0.937660285 0.96802386
## 5 >= 18 anios 1 0.044765128 0.007552778 0.031976144 0.06233972
De la tabla anterior se puede observar que, el 0.3% de los menores de edad y el 4% de los mayores de edad están desempleados. Adicionalmente, con una confianza del 95% y basados en la muestra se puede observar que el desempleo en menores de edad puede llegar a 0.7% y para los mayores llega a un 5%.
Por otro lado, si el objetivo ahora es estimar la cantidad de menores de edad en la zona rural se realiza de la siguiente manera:
%>% group_by(edad_18) %>%
sub_Rural summarise(Prop = survey_prop(vartype = c("se", "ci"))) %>%
data.frame()
## edad_18 Prop Prop_se Prop_low Prop_upp
## 1 < 18 anios 0.3711613 0.03021982 0.3128746 0.4334566
## 2 >= 18 anios 0.6288387 0.03021982 0.5665434 0.6871254
De la anterior tabla se puede observar que, el 37% de las personas que viven en la zona rural de la base de ejemplo son menores de edad con un intervalo de confianza al 95% comprendido entre 31% y 43%.
Como se mencionó al inicio del capítulo, es posible categorizar una variable de tipo cuantitativo como por ejemplo la edad y cruzarla con la variable que categoriza la empleabilidad. A continuación, se estima la edad de las mujeres por rango.
%>% mutate(edad_rango = case_when(
sub_Mujer >= 18 & Age <=35 ~ "18 - 35", TRUE ~ "Otro")) %>%
Agegroup_by(edad_rango, Employment) %>%
summarise(Prop = survey_prop(vartype = c("se", "ci"))) %>%
data.frame()
## edad_rango Employment Prop Prop_se Prop_low Prop_upp
## 1 18 - 35 Unemployed 0.02893412 0.009142347 0.015403014 0.05370358
## 2 18 - 35 Inactive 0.51653851 0.037905184 0.441673039 0.59066889
## 3 18 - 35 Employed 0.45452737 0.035685710 0.385232560 0.52562948
## 4 Otro Unemployed 0.01015164 0.004026104 0.004617517 0.02217073
## 5 Otro Inactive 0.35271022 0.020725430 0.312834830 0.39474850
## 6 Otro Employed 0.25483870 0.021700305 0.214292062 0.30012671
## 7 Otro <NA> 0.38229944 0.022313379 0.339191706 0.42734277
De la anterior tabla se puede observar, entre otros que, las mujeres con edades entre 18 y 35 años el 2% están desempleadas y el 45% están empleadas. Análisis similares se pueden hacer para los demás rangos de edades.
Este mismo ejercicio se puede realizar para los hombres y hacer los mismos análisis. A continuación, se muestra el código computacional:
%>% mutate(edad_rango = case_when(
sub_Hombre >= 18 & Age <=35 ~ "18 - 35",TRUE ~ "Otro")) %>%
Agegroup_by(edad_rango, Employment) %>%
summarise(Prop = survey_prop(vartype = c("se", "ci"))) %>%
data.frame()
## edad_rango Employment Prop Prop_se Prop_low Prop_upp
## 1 18 - 35 Unemployed 0.09637042 0.018215667 0.06584071 0.13895080
## 2 18 - 35 Inactive 0.08939940 0.016438321 0.06175556 0.12773290
## 3 18 - 35 Employed 0.81423018 0.022991735 0.76436394 0.85553799
## 4 Otro Unemployed 0.02606667 0.007175709 0.01506262 0.04474457
## 5 Otro Inactive 0.15344056 0.019883462 0.11805657 0.19706023
## 6 Otro Employed 0.38849664 0.020270309 0.34919327 0.42930563
## 7 Otro <NA> 0.43199614 0.021111842 0.39076987 0.47418649