I try to transfer the problem from this post to a setting where you use different formulas in the lm() function in R.
Here a basic setup to reproduce the problem:
library(dplyr)
library(broom)
library(purrr)
library(tidyr)
# Generate data
set.seed(324)
dt <- data.frame(
  t = sort(rep(c(1,2), 50)),
  w1 = rnorm(100),
  w2 = rnorm(100),
  x1 = rnorm(100),
  x2 = rnorm(100)
)
# Generate formulas
fm <- map(1:2, ~as.formula(paste0("w", .x,  "~ x", .x)))
Now I try to run different regressions for each group  t with models specified in formulas object fm :
# Approach 1:
dt %>% group_by(t) %>% 
  do(fit = tidy(map(fm, ~lm(.x, data = .)))) %>% 
  unnest(fit) 
# Approach 2
dt %>% nest(-t) %>% 
  mutate(
    fit = map(fm, ~lm(.x, data = .)),
    tfit = tidy(fit)
  )
This produces an error indicating that the formula cannot be converted to a data.frame . What am I doing wrong?
 
    