Réaliser une régression linéaire sur chaque jeu de données imbriqué
Vous avez maintenant 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 pouvez ajouter 1 à chaque nombre d’une liste :
map(numbers, ~ 1 + .)
Ainsi, 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 correspondant à un pays spécifique.
Cet exercice fait partie du cours
Étude de cas : analyse exploratoire de données en R
Instructions
- Chargez les packages
tidyretpurrr. - Après l’imbrication, utilisez la fonction
map()à l’intérieur d’unmutate()pour réaliser une régression linéaire sur chaque jeu de données (c’est-à-dire 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 cet exemple de code.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)