Le package prenoms
Mon premier package, prenoms
, vient tout juste d’arriver sur CRAN. Le package est en fait une base de données de tous les prénoms donnés aux enfants du Québec entre 1980 et 2020.
Pour l’installer, rien de plus facile:
install.packages("prenoms")
Vous pouvez ensuite l’utiliser comme ceci:
library(prenoms)
Nous allons utiliser le package tidyverse
pour visualiser les données:
# install.packages("tidyverse") si le package n'est pas encore installé
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.3 v purrr 0.3.4
## v tibble 3.1.1 v dplyr 1.0.5
## v tidyr 1.1.3 v stringr 1.4.0
## v readr 1.4.0 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
Une base de données sous la forme d’un tibble
sera maintenant accessible sous le noms de prenoms
.
glimpse(prenoms)
## Rows: 769,890
## Columns: 4
## $ year <int> 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980,~
## $ sex <chr> "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", ~
## $ name <chr> "A-Catherine", "A-Christiane", "A-Fernanda", "A-Genevieve", "A Ch~
## $ n <int> 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1,~
prenoms
## # A tibble: 769,890 x 4
## year sex name n
## <int> <chr> <chr> <int>
## 1 1980 F A-Catherine 2
## 2 1980 F A-Christiane 1
## 3 1980 F A-Fernanda 1
## 4 1980 F A-Genevieve 1
## 5 1980 F A Charlotte 1
## 6 1980 F A Dominique 1
## 7 1980 F A Elisabeth 2
## 8 1980 F A Francoise 1
## 9 1980 F A Icha 1
## 10 1980 F A Maria 1
## # ... with 769,880 more rows
Quelques exemples
Les 5 prénoms masculins les plus populaires en 2020
prenoms %>%
filter(year == 2020 & sex == "M") %>%
arrange(desc(n)) %>%
head(5)
## # A tibble: 5 x 4
## year sex name n
## <int> <chr> <chr> <int>
## 1 2020 M Liam 661
## 2 2020 M William 644
## 3 2020 M Noah 639
## 4 2020 M Thomas 594
## 5 2020 M Leo 572
Les 5 prénoms féminins les plus populaires en 2020
prenoms %>%
filter(year == 2020 & sex == "F") %>%
arrange(desc(n)) %>%
head(5)
## # A tibble: 5 x 4
## year sex name n
## <int> <chr> <chr> <int>
## 1 2020 F Olivia 543
## 2 2020 F Alice 491
## 3 2020 F Emma 491
## 4 2020 F Charlie 488
## 5 2020 F Charlotte 449
La popularité des prénoms de ma famille entre 1980 et 2020
family <- prenoms %>%
filter(
name == "Marc-Andre" & sex == "M" |
name == "Laurent" & sex == "M" |
name == "Melanie" & sex == "F" |
name == "Anna" & sex == "F"
) %>%
group_by(name, year, sex) %>%
summarise(n = sum(n)) %>%
arrange(year)
## `summarise()` has grouped output by 'name', 'year'. You can override using the `.groups` argument.
ggplot(data = family, aes(x = year, y = n, color = name))+
geom_line()+
scale_x_continuous( breaks = seq(1980, 2020, by = 5))