Reto 2. Análisis de Datos

Autor/a

Cristina Manovel Redondo

Publicat

Invalid Date

Actividad 1

Si pones el siguiente chunk en eval = T y te aseguras de que el archivo TSD_head.png se encuentra en tu directorio de trabajo, verás el marco de datos Trust, security and dignity - government at a glance indicators, 2025 edition. Observa los datos de la imagen y consulta si lo consideras necesario la página web para responder a las siguientes preguntas:

Mostrar codi.
knitr::include_graphics("TSD_tibble.png")

1. ¿Cuántas observaciones y variables tiene?

52 observaciones, estas, según los materiales de la asignatura, se situan en filas de manera que si seguimos los datos de una misma fila se verán los atributos de una misma unidad. En el archivo png vemos 10 observaciones más otras 42 que indica que faltan, lo que da un total de 52. Las variables nos dan un total de 20, estas son el fenómeno que se estudia y varían entre observaciones. En el archivo que se adjunta se observan siete variables (ej. reference area y time period) y en este mismo se destaca que nos encontramos con 13 variables más, lo que da un total de 20.

2. ¿Cuál es la unidad de análisis?

La unidad de análisis es el objeto sobre el que se recolecta la información. En este caso la unidad de análisis es el país y el año en el que se recoge dicha información, puesto que, en el conjunto de datos con el que se trabaja no es el mismo valor la confianza de australia en el 2021 (38) que la confianza en Australia en el 2023 (46.2).

3. ¿Qué tipo de variables tiene?

En el primer apartado se ha definido lo que es una variable por lo que pasamos a categorizar cada una de ellas: los países son una variable nominal categórica, el año es una variable numérica de intervalo y el resto son variables de ratio, en estas el 0 tiene valor absoluto.

4. ¿Cuál es la unidad de observación?

La unidad de analisis es el objeto sobre el que se obtienen los datos, en este caso coincide con la unidad de análisis y es el país y el año de obtención de los datos.

5. Pon un ejemplo de problema de falacia ecológica con estos datos.

La falacia ecológica se produce cuando se asume una conclusión sobre un individuo basandonos en los datos de un grupo. Un ejemplo a partir de los datos en la tabla sería asumir que un ciudadano de Colombia con el que estás entablando una conversación no confia en su gobierno, puesto que los datos de confianza gubernamental en Colombia en 2021 fueron del 20.5%.

6. Propón una pregunta que se pueda responder con este marco de datos.

Como propuesta de pregunta: ¿Cuáles eran los índices de confianza en los gobiernos locales de los diferentes países en el año 2023?

Mostrar codi.
# pon eval = T para visualizar la imagen
# asegurate de que la imagen y este documento se encuentren en la misma carpeta
knitr::include_graphics("TSD_tibble.png")

Actividad 2

En esta actividad utilizaremos el marco de datosPoverty_risk_EU.xlsxque muestra la proporción de población en riesgo de pobreza y exclusión social en los países de la Unión Europea desde 2015 en adelante. Para ello lo importaremos con la función readxl()y le daremos el nombre deeupr.

1. En primer lugar, realiza una exploración general de los datos con las funciones que ya conoces, identificando el número de observaciones, variables, unidad de observación, etc.

El conjunto de datos tiene 368 observaciones y 3 variables. La unidad de observación es el país (u organización internacional) y el año.

Como ejemplo de falacia ecológica: si me encuentro con un ciudadano de la Unión Euroepa en 2015 asumo que este tiene un 24% de posibilidad de ser pobre.

Por último, una pregunta que se podría hacer con la información de esta tabla sería; ¿qué porcentaje de riesgo de pobreza había en el 2023 para cada uno de los estados miembros de la Unión Europea?

Mostrar codi.
dim(eupr)

glimpse(eupr)

2. Con unique(), examina cuántos países diferentes hay.

Utilizando el código que se adjunta en el Chunk en la consola, sale un resultado de 37 países

Mostrar codi.
paises<- unique(eupr$Country)

[1] “European Union” “Albania”
[3] “Austria” “Belgium”
[5] “Bulgaria” “Croatia”
[7] “Cyprus” “Czechia”
[9] “Denmark” “Estonia”
[11] “Finland” “France”
[13] “Germany” “Greece”
[15] “Hungary” “Iceland”
[17] “Ireland” “Italy”
[19] “Latvia” “Lithuania”
[21] “Luxembourg” “Malta”
[23] “Montenegro” “Netherlands”
[25] “North Macedonia” “Norway”
[27] “Poland” “Portugal”
[29] “Romania” “Serbia”
[31] “Slovakia” “Slovenia”
[33] “Spain” “Sweden”
[35] “Switzerland” “Türkiye”
[37] “United Kingdom”

  1. Escribe el código que te permita observar qué observación / observaciones es “Spain”

En el chunk se adjunta el codigo que introduje en la consola para obtener los datos de España.

Mostrar codi.
spain <- eupr %>% 
  filter(Country == "Spain")

Así es como guardé los datos en el enviroment, tras esto para poder visualizarlos use el siguiente código

Mostrar codi.
spain

Y estos fueron los resultados:

A tibble: 11 × 3

Country Year %Pob_Poverty_risk

1 Spain 2015 28.7

2 Spain 2016 28.8

3 Spain 2017 27.5

4 Spain 2018 27.3

5 Spain 2019 26.2

6 Spain 2020 27

7 Spain 2021 27.8

8 Spain 2022 26

9 Spain 2023 26.5

10 Spain 2024 25.8

11 Spain 2025 25.7

4. Cambia “Spain” por “España”

Mostrar codi.
> eupr <- eupr %>% 
+     mutate(Country = recode(Country, "Spain" = "España"))

Una vez usado el código la transformación en la tabla se vería la siguiente manera:

322 España 2015 28.7

323 España 2016 28.8

324 España 2017 27.5

325 España 2018 27.3

326 España 2019 26.2

327 España 2020 27.0

328 España 2021 27.8

329 España 2022 26.0

330 España 2023 26.5

331 España 2024 25.8

332 España 2025 25.7

5. La variable Year computa el año al cual se corresponden los datos de exclusión y pobreza. No obstante, lo que queremos crear es una nueva variable que tenga por nombre dif y que calcule la diferencia de años con la actualidad, de manera que si analizamos los datos de exclusión de 2020, el resultado sea 6 (2026 - 2020).

Mostrar codi.
eupr <- eupr %>% 
  mutate(dif = 2026 - Year)

select(Country, Year, dif, `%Pob_Poverty_risk`) %>% 
  head()

Como resultado obtenemos la siguiente tabla:

Mostrar codi.
knitr::include_graphics("tibble_6x4.png")

6. Reduce los datos, de manera que conserves las observaciones de España y de la Unión Europea (European Union).

Mostrar codi.
> eupr_España_EU <- eupr %>% 
+     filter(Country %in% c("España", "European Union"))

> eupr_España_EU

El resultado de esta operacón es el siguiente:

Mostrar codi.
knitr::include_graphics("Captura de pantalla 2026-03-27 a las 10.28.17.png")

7. ¿De qué país tenemos menos observaciones?

Mostrar codi.
> eupr_menos_observaciones <- eupr %>% 
+     count(Country) %>%
+ arrange(n)

> eupr_menos_observaciones

El país con menos observaciones es United Kingdom

Mostrar codi.
knitr::include_graphics("menos_observaciones.png")

8. Finalmente, crea una nueva variable lustrum a partir de los valores de la variable Year, de manera que observes sus valores por rangos de 5 años. Es decir, en lugar de 2016 debería verse el valor “2015-2019”, en lugar de 2021 el valor “2020-2025”.

Mostrar codi.
> eupr_rango_años <- eupr %>% 
+     mutate(lustrum = case_when(
+         Year >= 2015 & Year <= 2019 ~ "2015-2019",
+         Year >= 2020 & Year <= 2025 ~ "2020-2025",
+         TRUE ~ "Otros"))
> eupr_rango_años
> unique(eupr_rango_años$lustrum)

El resultado es el siguiente aunque la tabla se corta por falta de espacio.

Mostrar codi.
knitr::include_graphics("rango_de_años.png")

Actividad 3

En esta sección utilizaremos el sistema pipe (%>% o |>) y las funciones del paquete dplyr (filter, select, mutate, arrange). Para realizar este análisis utilizaremos datos de pobreza multidimensional en América Latina extraídos del CEPALSTAT.

1. En primer lugar vamos a reducir los datos, de manera que solo conservaremos los datos que nos interesan. Primero deberás visualizar los datos para hacerte una idea de su contenido (recomendamos usar glimpse()). A continuación, crea un nuevo objeto Pob_LATAM en el que conservaremos las siguientes columnas: Año, Área geográfica, País, Edad y Proporción de población en situación de pobreza multidimensional

Mostrar codi.
>  Pobreza_LATAM_Dat.Reducidos<- Pobreza_Multidimensional_LATAM %>%
+ select(
+ Año, 
+ `Área geográfica`, 
+ País, 
+ Edad_IPM, 
+ `Prop_pobreza`    )

Este es el cuadro que se obtendría como resultado, con 2644 observaciones y 5 variables:

Mostrar codi.
knitr::include_graphics("LATAM_reducido .png")

2. Filtra los datos de Pob_LATAM para que se vean solo los datos de las áreas rurales de cada país (incluido el promedio de América Latina)

Mostrar codi.
> Pobreza_LATAM_Rural <- Pobreza_LATAM_Dat.Reducidos %>% 
+     filter(`Área geográfica` == "Rural")

> Pobreza_LATAM_Rural

Tras la reducción de variables y la reducción a los datos de zonas rurales, la tabla cuenta con 860 observaciones y 5 variables.

Mostrar codi.
knitr::include_graphics("LATAM_rural.png")

3. Filtra los datos de Pob_LATAM para que se vean solo los datos del total de la población de cada país (sin el promedio de América Latina) independientemente de la edad o si el área es rural/urbana

Mostrar codi.
> Pob_LATAM_Total <- Pobreza_Multidimensional_LATAM %>% 
+     filter(
+         `Área geográfica` == "Nacional",
+         Edad_IPM == "Total",
+         País != "América Latina (18 países)"
+     )
> Pob_LATAM_Total

La tabla que nos entrega la consola cuenta con 231 observaciones.

Mostrar codi.
knitr::include_graphics("LATAM_Total .png")

4. Copia el código anterior y crea una nueva pipe, donde pongas los datos la proporción de personas en estado de pobreza multidimensional en porcentajes.

Mostrar codi.
> Pobreza_LATAM_Porcentaje <- Pobreza_Multidimensional_LATAM %>% 
+     filter(
+         `Área geográfica` == "Nacional",
+         Edad_IPM == "Total",
+         País != "América Latina (18 países)"
+     ) %>% 
+     mutate(Porcentaje_Pobreza = Prop_pobreza * 100)

> Pobreza_LATAM_Porcentaje

Esta es la nueva variable que se añade en el conjunto de datos, por lo que la tabla se vería de la siguiente manera:

Mostrar codi.
knitr::include_graphics("LATAM 4.png")

5. Copia el código anterior y crea una nueva pipe, donde ordenes los datos según la proporción de personas en estado de pobreza multidimensional.

Mostrar codi.
> Pobreza_LATAM_Arrange <- Pobreza_Multidimensional_LATAM %>% 
+     filter(
+         `Área geográfica` == "Nacional",
+         Edad_IPM == "Total",
+         País != "América Latina (18 países)"
+     ) %>% 
+     mutate(Porcentaje_Pobreza = Prop_pobreza * 100) %>% 
+  
+     arrange(desc(Porcentaje_Pobreza))

> Pobreza_LATAM_Arrange

La consola nos responde con la siguiente tabla, en la que se encuentran los índices de pobreza multidimensional ordenados de teniendo en cuenta la proporción de personas.

Mostrar codi.
knitr::include_graphics("LATAM_arrange.png")

6. Según los datos de los que disponemos, en 2024, ¿en qué país había mayor proporción de personas menores de 18 años en estado de pobreza multidimensional?, Utiliza filter(),select() y arrange(). El marco de datos resultante debería mostrar claramente la respuesta.

Mostrar codi.
> View(Pobreza_LATAM_Arrange)
> Pobreza_Infantil <- Pobreza_Multidimensional_LATAM %>% 
+     filter(
+         Año == 2024,
+         `Área geográfica` == "Nacional",
+         Edad_IPM == "0 a 17 años"
+         País != "América Latina (18 países)"
+     ) %>% 
+     select(País, Año, Edad_IPM, Prop_pobreza) %>% 
+     arrange(desc(Prop_pobreza))
> Pobreza_Infantil

Tras usar el código, este es la tabla que nos genera la consola:

Mostrar codi.
knitr::include_graphics("Pobreza_infantil.png")

Por lo que Paraguay sería el país con mayor índice de pobreza infantil multidimensional.