##Dataset
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readr) #Lectura de mi archivo Natalidad_Mexico en .csv
Natalidad_Mexico <- read_csv("Natalidad_Mexico.csv")
## New names:
## Rows: 297 Columns: 7
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (1): estado dbl (5): Total, Hombres, Mujeres, No especificado, year lgl (1):
## ...7
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...7`
#Piping %>%
head(Natalidad_Mexico,10)
## # A tibble: 10 × 7
## estado Total Hombres Mujeres `No especificado` year ...7
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <lgl>
## 1 Aguascalientes 26583 13603 12980 0 2010 NA
## 2 Baja California 63559 32264 31295 0 2010 NA
## 3 Baja California Sur 13988 7076 6912 0 2010 NA
## 4 Campeche 20380 10230 10150 0 2010 NA
## 5 Coahuila de Zaragoza 56972 28879 28093 0 2010 NA
## 6 Colima 13796 7105 6691 0 2010 NA
## 7 Chiapas 175382 87534 87789 59 2010 NA
## 8 Chihuahua 74063 37236 36827 0 2010 NA
## 9 Ciudad de México 160057 79504 80551 2 2010 NA
## 10 Durango 42514 21290 21224 0 2010 NA
Natalidad_Mexico %>% head(10)
## # A tibble: 10 × 7
## estado Total Hombres Mujeres `No especificado` year ...7
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <lgl>
## 1 Aguascalientes 26583 13603 12980 0 2010 NA
## 2 Baja California 63559 32264 31295 0 2010 NA
## 3 Baja California Sur 13988 7076 6912 0 2010 NA
## 4 Campeche 20380 10230 10150 0 2010 NA
## 5 Coahuila de Zaragoza 56972 28879 28093 0 2010 NA
## 6 Colima 13796 7105 6691 0 2010 NA
## 7 Chiapas 175382 87534 87789 59 2010 NA
## 8 Chihuahua 74063 37236 36827 0 2010 NA
## 9 Ciudad de México 160057 79504 80551 2 2010 NA
## 10 Durango 42514 21290 21224 0 2010 NA
10 %>% head(Natalidad_Mexico, .)
## # A tibble: 10 × 7
## estado Total Hombres Mujeres `No especificado` year ...7
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <lgl>
## 1 Aguascalientes 26583 13603 12980 0 2010 NA
## 2 Baja California 63559 32264 31295 0 2010 NA
## 3 Baja California Sur 13988 7076 6912 0 2010 NA
## 4 Campeche 20380 10230 10150 0 2010 NA
## 5 Coahuila de Zaragoza 56972 28879 28093 0 2010 NA
## 6 Colima 13796 7105 6691 0 2010 NA
## 7 Chiapas 175382 87534 87789 59 2010 NA
## 8 Chihuahua 74063 37236 36827 0 2010 NA
## 9 Ciudad de México 160057 79504 80551 2 2010 NA
## 10 Durango 42514 21290 21224 0 2010 NA
#Select
Natalidad_Mexico %>% #Se eligen las siguientes columnas en particular
select(estado, Hombres, Mujeres, Total,"year")
## # A tibble: 297 × 5
## estado Hombres Mujeres Total year
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Aguascalientes 13603 12980 26583 2010
## 2 Baja California 32264 31295 63559 2010
## 3 Baja California Sur 7076 6912 13988 2010
## 4 Campeche 10230 10150 20380 2010
## 5 Coahuila de Zaragoza 28879 28093 56972 2010
## 6 Colima 7105 6691 13796 2010
## 7 Chiapas 87534 87789 175382 2010
## 8 Chihuahua 37236 36827 74063 2010
## 9 Ciudad de México 79504 80551 160057 2010
## 10 Durango 21290 21224 42514 2010
## # ℹ 287 more rows
Natalidad_Mexico %>% #Se selecciona el rango de columna a utilizar y se reemplaza el nombre de año, para denominarlo como "año nacimiento", lo anterior con el fin de identificar mucho mejor los periodos de nacimiento.
select(estado:Total, año_nacimiento="year")
## # A tibble: 297 × 3
## estado Total año_nacimiento
## <chr> <dbl> <dbl>
## 1 Aguascalientes 26583 2010
## 2 Baja California 63559 2010
## 3 Baja California Sur 13988 2010
## 4 Campeche 20380 2010
## 5 Coahuila de Zaragoza 56972 2010
## 6 Colima 13796 2010
## 7 Chiapas 175382 2010
## 8 Chihuahua 74063 2010
## 9 Ciudad de México 160057 2010
## 10 Durango 42514 2010
## # ℹ 287 more rows
#Mutate
Natalidad_Mexico %>% ## Se crea nueva columna donde se quiere identificar si efectivamente la información esta por Estado y no se incluyeron datos de capitales, como para este ejemplo, Merida capital de Yucatán en el año 2018.
select(estado:Total, año_nacimiento="year") %>%
mutate(capital = grepl("Merida", estado) & grepl ("2018", año_nacimiento)) %>%
select(estado, año_nacimiento, capital, everything())
## # A tibble: 297 × 4
## estado año_nacimiento capital Total
## <chr> <dbl> <lgl> <dbl>
## 1 Aguascalientes 2010 FALSE 26583
## 2 Baja California 2010 FALSE 63559
## 3 Baja California Sur 2010 FALSE 13988
## 4 Campeche 2010 FALSE 20380
## 5 Coahuila de Zaragoza 2010 FALSE 56972
## 6 Colima 2010 FALSE 13796
## 7 Chiapas 2010 FALSE 175382
## 8 Chihuahua 2010 FALSE 74063
## 9 Ciudad de México 2010 FALSE 160057
## 10 Durango 2010 FALSE 42514
## # ℹ 287 more rows
#Filter
Natalidad_Mexico %>% #Con la siguiente formula queremos obtener los Estados que presentaron menor cantidad de nacimientos en los años 2010, 2011 y 2012. Se evidencia que hay 3 Estados que coincidieron durante estos años. Asimismo, se evidencia que se integra en el último año el Estado de Campeche.
select(estado, Total, Hombres, Mujeres, año_nacimiento="year") %>%
filter(Total <=20000, año_nacimiento == "2010" | año_nacimiento == "2011" | año_nacimiento == "2012")
## # A tibble: 10 × 5
## estado Total Hombres Mujeres año_nacimiento
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Baja California Sur 13988 7076 6912 2010
## 2 Colima 13796 7105 6691 2010
## 3 Extranjero 7362 3794 3565 2010
## 4 Baja California Sur 13412 6859 6552 2011
## 5 Colima 14054 7164 6890 2011
## 6 Extranjero 8921 4517 4403 2011
## 7 Baja California Sur 12864 6538 6325 2012
## 8 Campeche 18343 9246 9097 2012
## 9 Colima 13422 6777 6645 2012
## 10 Extranjero 8911 4454 4457 2012
#Distinct
Natalidad_Mexico %>% ## Se realiza filtro solo por el Estado de Jalisco, uno de los más poblado según fuentes públicas, después de Estado de México y Ciudad de México.
select(estado:Mujeres, año_nacimiento="year") %>%
filter(estado == "Jalisco")
## # A tibble: 9 × 5
## estado Total Hombres Mujeres año_nacimiento
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Jalisco 161543 82228 79315 2010
## 2 Jalisco 163123 82438 80685 2011
## 3 Jalisco 161217 82144 79073 2012
## 4 Jalisco 159748 81179 78569 2013
## 5 Jalisco 158592 80489 78103 2014
## 6 Jalisco 151578 77322 74256 2015
## 7 Jalisco 148377 75448 72928 2016
## 8 Jalisco 151950 77533 74417 2017
## 9 Jalisco 146960 74805 72155 2018
#Group_by & Summarise
Natalidad_Mexico %>% #Se seleccionan las columnas a tomar en cuenta, filtrando solo por el Estado de Jalisco, allí se agrupan por año de nacimiento, obteniendo la totalidad de los nacimiento en Jalisco desde el año 2010 al 2018.
select(estado:Mujeres, año_nacimiento="year") %>%
filter(estado == "Jalisco") %>%
group_by(año_nacimiento) %>%
summarise(total_nacimientos_Jalisco = mean(Total))
## # A tibble: 9 × 2
## año_nacimiento total_nacimientos_Jalisco
## <dbl> <dbl>
## 1 2010 161543
## 2 2011 163123
## 3 2012 161217
## 4 2013 159748
## 5 2014 158592
## 6 2015 151578
## 7 2016 148377
## 8 2017 151950
## 9 2018 146960
#Arrange
Natalidad_Mexico %>% #Se ordena de manera descendente la columna de total de nacimientos en Jalisco
select(estado:Mujeres, año_nacimiento="year") %>%
filter(estado == "Jalisco") %>%
group_by(año_nacimiento) %>%
summarise(total_nacimientos_Jalisco = max(Total)) %>%
arrange(desc(total_nacimientos_Jalisco), año_nacimiento) %>%
head(10)
## # A tibble: 9 × 2
## año_nacimiento total_nacimientos_Jalisco
## <dbl> <dbl>
## 1 2011 163123
## 2 2010 161543
## 3 2012 161217
## 4 2013 159748
## 5 2014 158592
## 6 2017 151950
## 7 2015 151578
## 8 2016 148377
## 9 2018 146960
#Count
Natalidad_Mexico %>% #Se cuenta la cantidad de filas agrupadas por Estado y se ordena de forma descendente
select(estado:Mujeres, año_nacimiento="year") %>%
count(estado) %>%
arrange(desc(n))
## # A tibble: 33 × 2
## estado n
## <chr> <int>
## 1 Aguascalientes 9
## 2 Baja California 9
## 3 Baja California Sur 9
## 4 Campeche 9
## 5 Chiapas 9
## 6 Chihuahua 9
## 7 Ciudad de México 9
## 8 Coahuila de Zaragoza 9
## 9 Colima 9
## 10 Durango 9
## # ℹ 23 more rows