‎Población mundial 2022

‎Población mundial 2022
Photo by Dariusz Sankowski / Unsplash
Población mundial 2022

Un vistazo a la población de China e India

Es de conocimiento general, que China e India son países con una gran cantidad de personas. ¿Pero realmente cuánto es ‘una gran cantidad de personas’? Este es un vistazo a algunos datos importantes sobre los dos países más poblados del mundo, utilizando R. Los datos fueron tomados de un dataset creado por Aman Chauhan en Kaggle.

Utilicé las siguientes librerías para realizar la exploración y manipulación de datos:

library(tidyverse)
library(readxl)
library(scales)
library(gcookbook)
library(ggrepel)
theme_set(theme_classic())

Readxl nos permite leer el documento .xlsx y crear nuestro dataframe (marco de datos). Una vez que tenemos el dataframe inicial, extraemos las columnas y países que nos interesan. En este caso, el nombre del país y su población en cada década desde 1970 y hasta 2022.

df <- read_excel("World Population Live Dataset.xlsx")
df_cn_vs_in_wide <- select(df,2,3,4,5,6,7,8,9,10)
df_cn_vs_in <- filter(df_cn_vs_in_wide, Name %in% c("China", "India")) %>%
  # Pivot the data frame into a long format
  pivot_longer(cols=c('2022', '2020', '2015', '2010', '2000', '1990', '1980', '1970'),
                      names_to  ='Year',
                      values_to ='Population')
red_df <- select(df,2,3,13) %>% 
  rename("Population_2022" = "2022")
rmarkdown::paged_table(df, options = list(rows.print = 15))
df_cn_pop_growth <- filter(df_cn_vs_in_wide, Name %in% c("China"))
df_in_pop_growth <- filter(df_cn_vs_in_wide, Name %in% c("India"))
growth_decade_cn <- function(x, y) {
  growth <- ((df_cn_pop_growth[[x]] - df_cn_pop_growth[[y]])/df_cn_pop_growth[[y]])*100
  return (growth)
}
growth_decade_in <- function(x, y) {
  growth <- ((df_in_pop_growth[[x]] - df_in_pop_growth[[y]])/df_in_pop_growth[[y]])*100
  return (growth)
}
crecimiento_cn = c(growth_decade_cn('2022', '2020'), 
                   growth_decade_cn('2020', '2015'), 
                   growth_decade_cn('2015', '2010'), 
                   growth_decade_cn('2010', '2000'), 
                   growth_decade_cn('2000', '1990'), 
                   growth_decade_cn('1990', '1980'), 
                   growth_decade_cn('1980', '1970'))

crecimiento_in = c(growth_decade_in('2022', '2020'), 
                   growth_decade_in('2020', '2015'), 
                   growth_decade_in('2015', '2010'), 
                   growth_decade_in('2010', '2000'), 
                   growth_decade_in('2000', '1990'), 
                   growth_decade_in('1990', '1980'), 
                   growth_decade_in('1980', '1970'))

df_cn_vs_in$Crecimiento <- c(crecimiento_cn, NA, crecimiento_in, NA)

Las poblaciones de China y la India son un aproximado de 1 425 y 1 417 millones respectivamente. Superan por mucho al resto de países del mundo, por lo que observar su dinámica poblacional es de suma importancia.

plt_world <- ggplot(red_df[1:5,]) +
  aes(x = Name, y = Population_2022, fill = Name) +
  scale_fill_manual(values=c("red", "orange", "#00BA38", "#00BFC4", "#619CFF", "#F564E3")) +
  # Geoms ---->
  geom_bar(stat = "identity") +
  geom_text(aes(
    label = formatC(Population_2022/1000, format = "fg", big.mark = ' '), vjust = 1.5)) + #See documentation for formatC(), specifically digits
  #This was done with library(gcookbook)
  scale_y_continuous(labels = label_number(suffix = " M", scale = 1e-3)) +
    #Line above fixes the scale
  # Labels ---->
  labs(title = "Países del mundo con más personas (millones)", caption = "Datos tomados de: https://www.kaggle.com/datasets/whenamancodes/world-population-live-dataset") +
  labs(x = NULL, y = NULL) +
  labs(fill = "")
  # Theme ---->
  #theme_classic()
plt_world

Se espera que para el año 2023, India alcance a China en cantidad de personas y es un fenómeno muy interesante, porque en el siglo pasado China sobrepasaba por mucho la población de India.

# The parameter group = Name specifies that observations are grouped by name i.e. China and India
plt_cn_vs_in <- ggplot(df_cn_vs_in, 
                       aes(x = Year, y = Population, 
                           group = Name,
                           label = prettyNum(Population, big.mark = ' '))) +
  scale_color_manual(values=c("red", "orange")) +
  # Geoms ---->
  geom_line(aes(color = Name), linewidth = 1.5) +
  geom_point(color = "black", size = 3) +
  geom_label_repel(label.size = NA,
                   label.padding = 0) +
  # Labels --->
  labs(x = NULL, y = NULL) +
  labs(color = "") +
  labs(title = "Crecimiento poblacional por década", caption = "Datos tomados de: https://www.kaggle.com/datasets/whenamancodes/world-population-live-dataset") +
  scale_y_continuous(labels = label_number(suffix = " M", scale = 1e-3))
  # Theme ---->
  #theme_classic()
plt_cn_vs_in

Esto quiere decir que desde 1970 (o incluso antes), India ha estado creciendo a un ritmo mayor que el de China. Este período también coincide con el inicio de la priorización de políticas para control poblacional por parte del partido comunista chino. Posteriormente, en 1982, se oficializa la “Política de un solo hijo”. La carencia de una política estricta de control de natalidad en India puede ser una de las causantes de esta diferencia, aunque muy probablemente no sea la única. Abajo podemos ver que el crecimiento de India ha estado por encima del de China.