Esperanza de vida en la ciudad de Valencia

SALUD
VALENCIA
ESPERANZA DE VIDA
Autor/a
Afiliación

Universitat de València

Fecha de publicación

10 de mayo de 2024

Input

Se ha obtenido un conjunto de datos del Portal de Datos Abiertos del Ayuntamiento de Valencia. En los datos encontraremos información sobre la esperanza de vida en la ciudad, desde el año 2009 hasta el 2021, por distrito y por sexo. Puedes encontrar el enlace al portal de datos aquí.

Descripcion

Cargamos los datos

esperanza_vida <- read_delim("data/esperanca-de-vida-a-la-ciutat-de-valencia.csv",delim = ";", escape_double = FALSE, trim_ws = TRUE)
esperanza_vida
# A tibble: 325 × 4
    Year Sexo    GeoCode Value
   <dbl> <chr>   <chr>   <dbl>
 1  2020 <NA>    <NA>     83.1
 2  2018 <NA>    <NA>     83.3
 3  2016 <NA>    <NA>     83.0
 4  2014 <NA>    <NA>     82.7
 5  2010 <NA>    <NA>     81.7
 6  2018 Hombres <NA>     80.4
 7  2013 Hombres <NA>     79.4
 8  2011 Hombres <NA>     78.6
 9  2010 Hombres <NA>     78.4
10  2010 Mujeres <NA>     84.7
# ℹ 315 more rows

Contamos con un conjunto de datos de 325 observaciones y 4 variables (year, sexo, GeoCode y Value).

La variable GeoCode hace referencia a los distritos de la ciudad, que están identificados mediante códigos como “d1”, “d2”, “d3”, … , lo que dificulta la identificación específica de cada uno. Encontramos valores NA en los datos.

La variable Sexo presenta 299 valores NAs sobre las 325 observaciones. Además, los datos de la esperanza de vida por sexo corresponden a la ciudad en su conjunto, no a los distritos. Es por ello que en las observaciones donde no hay NAs, la variable GeoCode si los presenta. En los casos donde ambas variables tienen valores NA, se refiere a la media anual de la esperanza de vida en toda la ciudad.

Tratamiento

El ayuntamiento nos ha proporcionado información que relaciona cada código con un distrito específico. Comenzaremos reemplazando cada código en la variable GeoCode por su respectivo nombre de distrito.

esperanza_vida <- esperanza_vida %>%
  mutate(GeoCode = recode(GeoCode,
                          "d1"    = "Ciutat vella",
                          "d2"    = "Extramurs",
                          "d3"    = "L'eixample",
                          "d4"    = "Campanar",
                          "d5"    = "La saidia",
                          "d6"    = "El pla del real",
                          "d7"    = "L'olivereta",
                          "d8"    = "Patraix",
                          "d9"    = "Jesus",
                          "d10"   = "Cuatre carrers",
                          "d11"   = "Poblats marítims",
                          "d12"   = "Camins al grau",
                          "d13"   = "Algiros",
                          "d14"   = "Benimaclet",
                          "d15"   = "Rascanya",
                          "d16"   = "Benicalap",
                          "d171"  = "Poblats del nord",
                          "d172"  = "Poblats del nord",
                          "d173"  = "Poblats del nord",
                          "d174"  = "Poblats del nord",
                          "d18"   = "Poblats de l'oest",
                          "d19"   = "Poblats del sud"
  ))

Ahora crearemos un nuevo conjunto de datos que contenga solo la información de los distritos, eliminando así las observaciones que presentan NAs en la variable GeoCode.

distritos <- function(esperanza_vida) {
  esperanza_vida <- esperanza_vida %>%
    filter(!is.na(GeoCode))
  
  return(esperanza_vida)
}

distritos_esperanza_vida<- distritos(esperanza_vida)
distritos_esperanza_vida <- distritos_esperanza_vida[c(1,3,4)]

Pondremos la información en un formato ancho para que la información quede más ordenada por distriro y año.

distritos_esperanza_vida_ancho <- distritos_esperanza_vida %>%
  pivot_wider(names_from = Year, values_from = Value)

#ordenamos cronologicamente
years <- as.numeric(names(distritos_esperanza_vida_ancho)[-1])
sorted_years <- sort(years)
distritos_esperanza_vida_ancho <- distritos_esperanza_vida_ancho[, c("GeoCode", as.character(sorted_years))]

#ponemos nombres a las columnas
colnames(distritos_esperanza_vida_ancho) <- c("Distrito","Y2009", "Y2010", "Y2011", "Y2012", "Y2013", "Y2014", "Y2015", "Y2016",
  "Y2017", "Y2018", "Y2019", "Y2020", "Y2021")

Al asignar nombres a los códigos de distrito, cuatro de ellos fueron nombrados de la misma forma, Poblats del Nord. Los datos correspondientes a estas cuatro observaciones se agrupan ahora en una única observación que toma un formato lista.

Para solucionar este problema primero calcularemos la media de dichas listas.

poblatsdelnord <- distritos_esperanza_vida %>%
  group_by(GeoCode)%>%
  filter(GeoCode=="Poblats del nord")

media_pdn <- poblatsdelnord %>% 
  group_by(Year)%>%
  summarise(media = mean(Value)) %>%
  pivot_wider(names_from = Year,values_from = media )

distrito <- "Poblats del nord"
media_pdn <- cbind(Distrito = distrito, media_pdn)
colnames(media_pdn) <- c("Distrito","Y2009", "Y2010", "Y2011", "Y2012", "Y2013", "Y2014", "Y2015", "Y2016", "Y2017", "Y2018", "Y2019", "Y2020", "Y2021")

La observación que corresponde a este distrito la vamos a eliminar.

distritos_esperanza_vida_ancho<-head(distritos_esperanza_vida_ancho,-1)

Y por último juntamos estos dos objetos.

distritos_esperanza_vida_ancho <- rbind(distritos_esperanza_vida_ancho, media_pdn)

El resto de observaciones también nos proporciona información de interés por lo que no la vamos a eliminar. Crearemos un objeto que contenga los datos de la media de esperanza, así como la de hombres y mujeres por año.

Primero separeamos la esperanza de vida por sexo:

esperanza_por_sexo <- esperanza_vida %>%
  filter(!is.na(Sexo)) 
esperanza_por_sexo <- esperanza_por_sexo[c(1,2,4)]
esperanza_por_sexo <- esperanza_por_sexo %>%
  pivot_wider(names_from = Sexo, values_from = Value)

Ahora en otro objeto ponemos la media anual:

media_vida <- esperanza_vida %>%
  filter(is.na(GeoCode) & is.na(Sexo))
media_vida <- media_vida[c(1,4)]

Y ahora juntamos los dos objetos para obtener un único conjunto de datos:

esperanza_vida_sexo_media <- cbind(esperanza_por_sexo, media_vida)
esperanza_vida_sexo_media <- esperanza_vida_sexo_media[c(1,2,3,5)]
colnames(esperanza_vida_sexo_media)<- c("Year", "Hombres", "Mujeres","Media")
esperanza_vida_sexo_media <- esperanza_vida_sexo_media %>% arrange(Year)

Output

De esta forma hemos obtenido dos conjuntos de datos. El conjunto distritos_esperanza_vida_ancho, contiene la información de la media de esperanza de vida de cada distrito de la ciudad desde el año 2009 hasta el 2021.

Distrito Y2009 Y2010 Y2011 Y2012 Y2013 Y2014 Y2015 Y2016 Y2017 Y2018 Y2019 Y2020 Y2021
Ciutat vella 80.02 80.74 80.69 81.18 81.21 81.73 82.17 81.84 82.01 81.48 81.86 80.80 81.79
Extramurs 82.19 82.47 82.29 82.94 83.42 83.57 83.79 83.93 83.88 84.34 85.15 84.02 85.15
L'eixample 82.19 82.72 83.02 83.25 83.39 83.43 83.67 83.87 84.02 84.30 84.68 83.70 84.53
Campanar 82.17 82.30 82.74 83.07 83.53 83.59 83.58 83.65 83.79 84.49 84.56 84.57 85.27
La saidia 81.96 82.04 82.38 82.47 82.94 83.27 83.19 83.28 82.92 83.24 83.36 83.14 84.14
El pla del real 84.00 84.08 84.10 84.31 84.80 85.07 85.50 85.39 85.26 85.26 85.42 84.60 85.13
L'olivereta 80.93 81.54 81.90 82.23 82.63 82.49 82.68 82.86 82.58 82.94 83.08 82.33 83.23
Patraix 81.88 81.96 82.27 82.56 82.91 83.31 83.36 83.61 83.63 83.87 84.55 83.53 84.23
Jesus 81.49 81.75 81.69 82.04 82.22 82.63 83.35 83.61 83.67 84.12 84.14 83.21 83.59
Cuatre carrers 81.33 81.83 81.94 82.07 82.40 82.37 82.72 83.13 83.33 83.48 83.38 82.49 83.39
Poblats marítims 79.58 79.81 80.38 80.68 81.03 81.53 81.40 81.88 81.92 81.95 82.33 81.54 82.06
Camins al grau 81.69 82.03 82.27 82.46 82.90 83.24 83.10 83.58 83.40 83.70 83.98 83.02 83.54
Algiros 82.34 82.31 82.75 83.28 83.19 83.30 82.92 83.01 83.35 83.90 84.46 84.02 84.91
Benimaclet 82.69 82.66 82.86 82.94 83.16 83.43 83.93 83.88 83.99 84.37 84.88 84.30 85.08
Rascanya 81.14 81.30 81.41 82.07 82.41 82.73 83.13 83.47 83.37 83.51 83.70 82.45 83.44
Benicalap 81.68 82.03 82.14 82.64 82.72 82.98 83.32 82.87 83.03 83.11 83.40 83.09 83.98
Poblats de l'oest 80.76 80.68 81.03 81.62 81.25 81.80 82.16 82.16 82.75 83.67 83.51 83.26 83.85
Poblats del sud 81.51 81.44 81.42 82.09 82.12 82.37 82.80 82.52 82.71 83.33 83.21 82.81 83.32
Poblats del nord 82.13 82.55 81.71 81.65 81.51 82.19 82.98 83.03 83.45 82.94 83.66 83.11 83.55

Y el conjunto de datos esperanza_vida_sexo_media nos da la información sobre la media anual de esperanza de vida para toda la ciudad y para los hombres y mujeres de valencia.

Year Hombres Mujeres Media
2009 78.04 84.30 81.35
2010 78.41 84.67 82.74
2011 78.63 84.81 82.96
2012 78.85 85.03 81.91
2013 79.40 85.13 83.32
2014 79.72 85.35 82.14
2015 79.83 85.37 83.15
2016 79.97 85.56 83.54
2017 80.18 85.75 81.73
2018 80.37 85.89 83.09
2019 80.63 86.10 82.47
2020 80.07 85.77 82.80
2021 80.82 86.51 83.85



Proyecto de Innovación Educativa Emergente (PIEE-2737007)