Intent is unclear; here's one possibility
suppressPackageStartupMessages({
library(broom)
library(dplyr)
library(tidyr)
})
res1 <- mtcars %>%
group_by(cyl) %>%
group_modify(.f = ~ tidy(lm(mpg ~ disp, data = .x)))
res2 <- res1 %>% pivot_wider(
names_from = c(cyl), names_repair = "minimal",
values_from = c("estimate", "p.value"), -c(std.error, statistic)
)
res2 %>%
filter(term == "disp") %>%
select(estimate_4,p.value_4,estimate_6,p.value_6,estimate_8,p.value_8)
#> # A tibble: 1 x 6
#> estimate_4 p.value_4 estimate_6 p.value_6 estimate_8 p.value_8
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 -0.135 0.00278 0.00361 0.826 -0.0196 0.0568