Esperanza de vida en la ciudad de Valencia
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.
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:
Ahora en otro objeto ponemos la media anual:
Y ahora juntamos los dos objetos para obtener un único conjunto de datos:
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)