Regresión lineal en cada conjunto de datos anidado
Ahora que has dividido los datos de cada país en un conjunto de datos independiente en la columna data, necesitas ajustar un modelo lineal a cada uno de esos conjuntos.
La función map() de purrr aplica una fórmula a cada elemento de una lista, donde . representa el elemento individual. Por ejemplo, puedes sumar uno a cada elemento de una lista de números:
map(numbers, ~ 1 + .)
Esto significa que, para ajustar un modelo a cada conjunto de datos, puedes hacer:
map(data, ~ lm(percent_yes ~ year, data = .))
donde . representa cada elemento individual de la columna data en by_year_country. Recuerda que cada elemento de la columna data es un conjunto de datos correspondiente a un país específico.
Este ejercicio forma parte del curso
Estudio de caso: Análisis exploratorio de datos en R
Instrucciones del ejercicio
- Carga los paquetes
tidyrypurrr. - Después de anidar, usa la función
map()dentro de unmutate()para realizar una regresión lineal en cada conjunto de datos (es decir, cada elemento de la columnadataenby_year_country) modelandopercent_yesen función deyear. Guarda los resultados en la columnamodel.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)