¿Cómo crear una pirámide de población en R?

¿Cómo crear una pirámide de población en R?

En este artículo, discutiremos cómo crear una pirámide de población en el lenguaje de programación R.

Una pirámide de población también se conoce como pirámide de edad y sexo. Nos ayuda a visualizar la distribución de una población por grupo de edad y sexo. Generalmente toma la forma de una pirámide. En la pirámide de población, los hombres suelen estar representados a la izquierda y las mujeres a la derecha. Este método de visualización de datos se puede utilizar para visualizar la edad de una población en particular en función del número o porcentaje de habitantes masculinos y femeninos.

Para crear una pirámide de población en lenguaje R, usamos la función geom_bar() del paquete ggplot2. El ggplot2 es un sistema para la creación declarativa de gráficos, basado en “La gramática de los gráficos”. La función geom_bar() se usa para dibujar los diagramas de barras, hace que la altura de la barra sea proporcional al número de casos en cada grupo.

Básico creando una Pirámide de Población en R

Para crear una pirámide de población, usamos la función coord_flip() junto con la función geom_bar() para crear un gráfico de barras horizontales, luego hacemos que el valor de la población masculina sea negativo usando la función de mutación creando así las barras de población masculina a la izquierda y la barra de población femenina en el lado derecho que nos da la pirámide de población requerida.

Sintaxis:

ggplot( df, aes(x = edad, y = población)) + geom_bar(stat = “identidad”) + coord_flip()

Parámetros:

  • d.f.: determina el marco de datos que contiene los datos de población.
  • género, edad y población: determina las columnas del marco de datos df.

Ejemplo:

Aquí, hay una pirámide de población básica. El archivo CSV utilizado en el ejemplo se puede descargar aquí.

R

sample_data <- read.csv("Population.CSV")

 

library(ggplot2)

library(dplyr)

 

sample_data %>%mutate(

    population = ifelse(gender=="M", population*(-1),

                        population*1))%>%

    ggplot(aes(x = age,y = population)) + 

    geom_bar(stat = "identity") +

    coord_flip()

Producción:

Pirámide de población de personalización de color en R

Para personalizar el color de las barras masculinas y femeninas, usamos la propiedad estética de relleno de la función ggplot(). W puede pasar la variable según la cual queremos que sean los colores o podemos pasar los colores exactos que se deben poner. Incluso podemos usar la función scale_fill_brewer() para establecer el color en una paleta predefinida.

Sintaxis:

ggplot(df, aes(x, y, relleno))

Parámetros:

  • llenar: determina la variable según la cual se van a colorear las barras.

Ejemplo:

Aquí, en este ejemplo, hemos coloreado la trama en la paleta secuencial número 7.

R

sample_data <- read.csv("Population.CSV")

 

library(ggplot2)

library(dplyr)

 

sample_data %>%mutate(

    population = ifelse(gender=="M", population*(-1),

                        population*1))%>%

    ggplot(aes(x = age,y = population, fill=gender)) + 

    geom_bar(stat = "identity") +

    coord_flip()+

    scale_fill_brewer(type = "seq",palette = 7)

Producción:

Pirámide de población de personalización de etiquetas en R

Para personalizar las etiquetas de la gráfica, usamos el título, los argumentos x e y de la función labs(). Aquí, título, x e y determinan el título de la gráfica, la etiqueta del eje x y la etiqueta del eje y, respectivamente.

Sintaxis:

ggplot(df, aes(x, y))+ labs(título, x, y)

Parámetros:

  • título: determina el título de la trama.
  • X y Y: determina la etiqueta de los ejes x e y respectivamente.

Ejemplo:

Aquí hay una pirámide de población con colores y etiquetas personalizados. El archivo CSV utilizado en el ejemplo se puede descargar aquí.

R

sample_data <- read.csv("Population.CSV")

 

library(ggplot2)

library(dplyr)

 

sample_data %>%mutate(

    population = ifelse(gender=="M", population*(-1),

                        population*1))%>%

    ggplot(aes(x = age,y = population, fill=gender)) + 

    geom_bar(stat = "identity") +

    coord_flip()+

   labs(title = "Title of plot", x = "Age"

        y = "Population(in millions)")

Producción:

Personalización del eje de una pirámide de población en R

Ya que en el ejemplo anterior, la pirámide de población no está en el centro porque la población de mujeres es mayor. Para solucionar estas situaciones, podemos fijar la escala del eje usando la función scale_x/y_continuous(). También podemos usar esta función para establecer los descansos en el eje. Para establecer la ruptura del eje, usamos el argumento breaks de la función scale_x/y_continuous().

Sintaxis:

scale_x/y_continuous(límites, rupturas)

Parámetros:

  • límites: determina los límites del eje x o y.
  • descansos: determina las rupturas de eje del eje x o y.

Ejemplo:

Aquí, en este ejemplo, hemos establecido límites en el eje y para que la gráfica sea más uniforme.

R

sample_data <- read.csv("Population.CSV")

 

library(ggplot2)

library(dplyr)

 

sample_data %>%mutate(

    population = ifelse(gender=="M", population*(-1),

                        population*1))%>%

    ggplot(aes(x = age,y = population, fill=gender)) + 

    geom_bar(stat = "identity") +

    coord_flip()+

    scale_y_continuous(limits = c(-4,4), 

                       breaks = seq(-4, 4, by = 2))+

   labs(title = "Title of plot", x = "Age",

        y = "Population(in millions)")

Producción:


También te puede interesar