2.5 Creación de variables y resumen de conteos
Las funciones mutate
, summarise
y group_by
están cargadas en el paquete tidyverse
y son muy importantes al momento de realizar análisis descriptivos simples con las bases de datos de las encuestas de hogares. En primer lugar, la función mutate
permite realizar transformaciones de variables en una base de datos. Usualmente, en las encuestas de hogares es necesario crear nuevas variables, por ejemplo, si el hogar está en estado de pobreza extrema o no, la cual se calcula a partir de los ingresos del hogar. La función mutate
proporciona una interfaz clara para realizar este tipo de operaciones. A modo de ejemplo, utilizaremos la base de ejemplo para crear una nueva variable llamada logingreso
, la cual corresponde al logaritmo natural de los ingresos de la persona dentro del hogar. Los códigos computacionales se muestran a continuación:
datablue2 <- dataingreso1 %>%
mutate(Logincome = log(Income))
datablue2 %>%
select(PersonID, Income, Logincome) %>%
head()
## PersonID Income Logincome
## 1 idPer01 600 6.39693
## 2 idPer02 600 6.39693
## 3 idPer03 600 6.39693
## 4 idPer01 600 6.39693
## 5 idPer02 600 6.39693
## 6 idPer03 600 6.39693
Si fuera necesario, se puede crear más de una variable en la base de datos. Cabe recalcar que la función mutate
reconoce sistemáticamente las variables que van siendo creadas de manera ordenada. A continuación, se presenta un ejemplo de cómo crear más de una nueva variable en la base de datos:
datacat <- datablue2 %>%
mutate(Income2 = 2 * Income,
Income4 = 2 * Income2)
datacat %>%
select(PersonID, Income2, Income4) %>%
head()
## PersonID Income2 Income4
## 1 idPer01 1200 2400
## 2 idPer02 1200 2400
## 3 idPer03 1200 2400
## 4 idPer01 1200 2400
## 5 idPer02 1200 2400
## 6 idPer03 1200 2400
Ahora bien, la función summarise
crea un nuevo archivo de datos con información resumida de la base de datos. Como se mencionó anteriormente, esta función sirve para resumir o colapsar la información de las filas; toma un grupo de valores como argumento y devuelve un conjunto de valores que resumen la información de los datos en la base. Por ejemplo, con summarise
es posible hallar la media de los ingresos, sus percentiles o algunas medidas de dispersión en la base de datos. En el siguiente código computacional se muestra cómo se utiliza la función para conocer el número de envuestas de la base.
## n
## 1 150266
Por otro lado, la función group_by
permite agrupar información de acuerdo con una o varias variables de interés. Usadas en conjunto, estas dos funciones proporcionan un medio poderoso para obterner infomración desagregada. El siguiente código permite generar el número de registros en cada una de las regiones de BigCity. El comando group_by
agrupa los datos por región, el comando summarise
hace los cálculos requeridos y el comando arrange
ordena los resultados:
## # A tibble: 5 × 2
## Region n
## <fct> <int>
## 1 Oriente 39160
## 2 Occidente 33868
## 3 Centro 25944
## 4 Sur 25898
## 5 Norte 25396
Por ejemplo, para generar el número de encuestas efectivas discriminado por el sexo del respondiente, es posible utilizar el siguiente código computacional:
## # A tibble: 2 × 2
## Sex n
## <chr> <int>
## 1 Female 79190
## 2 Male 71076
Si ahora se desea realizar la consulta del número de encuestas efectivas por área geográfica, se realiza de la siguiente manera:
## # A tibble: 2 × 2
## Zone n
## <chr> <int>
## 1 Urban 78164
## 2 Rural 72102
Por último, resulta fundamental categorizar variables como la edad para agilizar y estandarizar la revisión de los datos en la base. En este escenario, optaremos por emplear la función case_when
, la cual posibilita la evaluación de distintas condiciones para una variable particular.