library(tidyverse)
library(broom)
library(gapminder)
gapminder
#> # A tibble: 1,704 × 6
#> country continent year lifeExp pop gdpPercap
#> <fct> <fct> <int> <dbl> <int> <dbl>
#> 1 Afghanistan Asia 1952 28.8 8425333 779.
#> 2 Afghanistan Asia 1957 30.3 9240934 821.
#> 3 Afghanistan Asia 1962 32.0 10267083 853.
#> 4 Afghanistan Asia 1967 34.0 11537966 836.
#> 5 Afghanistan Asia 1972 36.1 13079460 740.
#> 6 Afghanistan Asia 1977 38.4 14880372 786.
#> 7 Afghanistan Asia 1982 39.9 12881816 978.
#> 8 Afghanistan Asia 1987 40.8 13867957 852.
#> 9 Afghanistan Asia 1992 41.7 16317921 649.
#> 10 Afghanistan Asia 1997 41.8 22227415 635.
#> # ℹ 1,694 more rows
gapminder_2007 <- gapminder |>
filter(year == 2007)
model_africa <- lm(lifeExp ~ gdpPercap, data = filter(gapminder_2007, continent == "Africa"))
qwer <- gapminder_2007 |>
group_by(continent) |>
nest() |>
mutate(model = map(data, ~ lm(lifeExp ~ gdpPercap, data = .))) |>
mutate(results = map(model, ~tidy(., conf.int = TRUE))) |>
unnest(results)
#> Warning: There was 1 warning in `mutate()`.
#> ℹ In argument: `results = map(model, ~tidy(., conf.int = TRUE))`.
#> ℹ In group 5: `continent = Oceania`.
#> Caused by warning in `qt()`:
#> ! NaNs produced
qwer |>
select(continent, term, estimate) |>
filter(term == "gdpPercap")
#> # A tibble: 5 × 3
#> # Groups: continent [5]
#> continent term estimate
#> <fct> <chr> <dbl>
#> 1 Asia gdpPercap 0.000388
#> 2 Europe gdpPercap 0.000215
#> 3 Africa gdpPercap 0.00102
#> 4 Americas gdpPercap 0.000270
#> 5 Oceania gdpPercap 0.000111
Created on 2025-04-22 with reprex v2.1.1