Eseguire la regressione lineare su ciascun dataset annidato
Ora che hai suddiviso i dati di ciascun paese in un dataset separato nella colonna data, devi adattare un modello lineare a ognuno di questi dataset.
La funzione map() di purrr applica una formula a ciascun elemento di una lista, dove . rappresenta il singolo elemento. Per esempio, puoi aggiungere uno a ogni numero di una lista:
map(numbers, ~ 1 + .)
Questo significa che, per adattare un modello a ciascun dataset, puoi fare:
map(data, ~ lm(percent_yes ~ year, data = .))
dove . rappresenta ciascun elemento della colonna data in by_year_country. Ricorda che ogni elemento nella colonna data è un dataset riferito a uno specifico paese.
Questo esercizio fa parte del corso
Caso di studio: Analisi esplorativa dei dati in R
Istruzioni dell'esercizio
- Carica i pacchetti
tidyrepurrr. - Dopo l'annidamento, usa la funzione
map()all'interno dimutate()per eseguire una regressione lineare su ciascun dataset (cioè ciascun elemento della colonnadatainby_year_country) modellandopercent_yesin funzione diyear. Salva i risultati nella colonnamodel.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)