Créer un data.frame avec une colonne de listes
Terminons ce chapitre avec une mise en œuvre de notre extracteur de liens, mais en utilisant une colonne de listes. L'idée, lorsqu'on utilise un dataframe imbriqué (c.-à-d. un dataframe avec une colonne de listes), est de tout garder dans un dataframe afin que le flux de travail demeure soigné.
On vous fournit un tibble nommé df, qui contient une colonne urls avec les quatre URL que vous utilisez depuis le début de ce chapitre. Si vous souhaitez examiner ce dataframe, vous pouvez l'afficher dans la console.
Nous allons créer une nouvelle colonne appelée links, qui contiendra les résultats de la fonction get_links() (disponible dans votre espace de travail). Comme les résultats de cette fonction n'ont pas tous la même longueur, la sortie sera une colonne de listes que vous devrez ensuite unnest() pour revenir à un dataframe standard.
Cette activité fait partie du cours
Programmation fonctionnelle intermédiaire avec purrr
Instructions de l’exercice
Chargez les trois forfaits nécessaires :
dplyr,tidyretpurrrPrenez l'objet
dfet exécutezmutate()dessus.mutate()appliquera la fonctionget_links()à la colonneurls.Affichez le résultat.
Aplatissez (unnest) le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Load dplyr, tidyr, and purrr
# Create a "links" columns, by mapping get_links() on urls
df2 <- df %>%
mutate(___ = map(___, get_links))
# Print df2 to see what it looks like
# unnest() df2 to have a tidy dataframe
df2 %>%
___(cols=c(links))