Effectuer une régression linéaire sur chaque jeu de données imbriqué
Maintenant que vous avez séparé les données de chaque pays dans un jeu de données distinct dans la colonne data, vous devez ajuster un modèle linéaire à chacun de ces jeux de données.
La fonction map() de purrr applique une formule à chaque élément d'une liste, où . représente l'élément individuel. Par exemple, vous pourriez ajouter un à chacun des nombres d'une liste :
map(numbers, ~ 1 + .)
Cela signifie que pour ajuster un modèle à chaque jeu de données, vous pouvez faire :
map(data, ~ lm(percent_yes ~ year, data = .))
où . représente chaque élément de la colonne data dans by_year_country. Rappelez-vous que chaque élément de la colonne data est un jeu de données propre à un pays donné.
Cette activité fait partie du cours
Étude de cas : analyse exploratoire des données en R
Instructions de l’exercice
- Chargez les progiciels
tidyretpurrr. - Après l'imbrication, utilisez la fonction
map()à l'intérieur d'unmutate()pour effectuer une régression linéaire sur chaque jeu de données (c.-à-d. chaque élément de la colonnedatadansby_year_country) en modélisantpercent_yesen fonction deyear. Enregistrez les résultats dans la colonnemodel.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)