Un gráfico de la evolución de la población Peruana con R

9 de Abril de 2012

La división de estadísticas de las Naciones Unidas, a través de su portal UNdata, pone a disposición de todos una cantidad impresionante de datos a nivel nacional. Los datos sobre el Perú se encuentran aquí.

Los datos

Como quería ver la evolución de la población Peruana según diferentes rangos de edades, descargue los datos de la población total, 0-4 años, 5-14 años, 15-24 años, 15-59 años, 60 años y más y 80 años y más. Los datos van del año 1950 a 2100 cada 5 años. Tomé los datos según un escenario de variación estimada, que es el recomendado por las Naciones Unidas. A partir de estos datos, calcule la proporción, dentro de la población total de los rangos de edades: 0-4, 5-14, 15-24, 25-59, 60-79 y 80 y más.

Para jugar con los datos, aquí esta el archivo CSV.

El código R

> # Importacion de los datos

> poblacion <-read.csv("~/code/R/poblacion/evolucion_pob_peruana.csv", sep=";")

Los datos se presentan así:

Tabla

El gráfico se va a hacer en varias etapas, rango de edad por rango rango de edad.

> plot(poblacion$Años, poblacion$X0.4, ylim=c(0,100), type= 'l')

Con esta comanda, representamos en 'X' los años y en 'Y' el rango de edad 0-4:

 primera etapa

El parametro ylim permite definir el rango del eje 'Y'. En nuestro caso, los valores (%) van de 0 a 100. type='l' representa los datos interpolados ('l' es para line) .

En el eje 'X', tenemos valores cada 50 años (1950, 200, ...). Prefiero ver valores cada 25 años. Por eso hago:

> axis(1, c(seq(1975,2100,by=50)))

Para ver la significación de los parametros de la función axis, help(axis).

Ahora podemos agregar a este gráfico los otros rangos de edad, uno por uno. Como quiero hacer un "area graph", para que cada rango aparesca arriba del anterior tengo que sumar los valores:

> lines(poblacion$Años, poblacion$X0.4 + poblacion$X5.14)

> lines(poblacion$Años, poblacion$X0.4 + poblacion$X5.14 + poblacion$X15.24)

> lines(poblacion$Años, poblacion$X0.4 + poblacion$X5.14 + poblacion$X15.24 + poblacion$X25.59)

> lines(poblacion$Años, poblacion$X0.4 + poblacion$X5.14 + poblacion$X15.24 + poblacion$X25.59 + poblacion$X60.79)

> lines(poblacion$Años, poblacion$X0.4 + poblacion$X5.14 + poblacion$X15.24 + poblacion$X25.59 + poblacion$X60.79 + poblacion$X80.)

lines es una función que permite agregar una linea a un gráfico ya existante.
Último paso, para ayudar a leer el gráfico y ver la situación de la población hoy día vamos a agregar una linea vertical en 2012. Por eso, existe la función abline:

> abline(v=2012)

 Nuestro gráfico:

resultado en R

El resultado final

Después de editar el archivo SVG creado con R en Inkscape obtenemos un resultado mucho más facil de analizar:

Evolución de la población Peruana

Sobre la evolución de la población, nada muy sorprendente, la proporción de ancianos aumenta:


Twittear