Aan de slagGa gratis aan de slag

Lineaire regressie uitvoeren op elke geneste gegevensset

Nu je de data voor elk land hebt opgesplitst in een aparte gegevensset in de kolom data, moet je op elk van deze gegevenssets een lineair model fitten.

De functie map() uit purrr past een formule toe op elk item in een lijst, waarbij . het individuele item voorstelt. Zo kun je bijvoorbeeld 1 optellen bij elk getal in een lijst:

map(numbers, ~ 1 + .)

Dit betekent dat je om op elke gegevensset een model te fitten, het volgende kunt doen:

map(data, ~ lm(percent_yes ~ year, data = .))

waarbij . elk individueel item uit de kolom data in by_year_country voorstelt. Denk eraan dat elk item in de kolom data een gegevensset is die bij een specifiek land hoort.

Deze oefening maakt deel uit van de cursus

Casestudy: Exploratory Data Analysis in R

Cursus bekijken

Oefeninstructies

  • Laad de pakketten tidyr en purrr.
  • Gebruik na het nesten de functie map() binnen een mutate() om op elke gegevensset (dus elk item in de kolom data in by_year_country) een lineaire regressie uit te voeren, waarbij je percent_yes modelleert als functie van year. Sla de resultaten op in de kolom model.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Load tidyr and purrr



# Perform a linear regression on each item in the data column
by_year_country %>%
  nest(-country)
  
Code bewerken en uitvoeren