Créer un data.frame avec une colonne-liste
Terminons ce chapitre avec une implémentation de notre extracteur de liens, mais en utilisant une colonne-liste. L’idée, lorsqu’on utilise un dataframe imbriqué (c’est-à-dire un dataframe avec une colonne de type liste), est de tout conserver dans un dataframe afin de garder un flux de travail ordonné.
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 sorties de cette fonction n’ont pas toutes la même longueur, le résultat sera une colonne-liste qu’il faudra ensuite unnest() pour revenir à un dataframe standard.
Cet exercice fait partie du cours
<cours>Programmation fonctionnelle intermédiaire avec purrr</cours>Instructions de l’exercice
Chargez les trois packages nécessaires :
dplyr,tidyretpurrr.Prenez l’objet
dfet appliquezmutate()dessus.mutate()appliquera la fonctionget_links()à la colonneurls.Affichez le résultat.
Développez le résultat avec
unnest().
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))