map() function error: Error: Can't convert a two-sided formula to a function

map() function error: Error: Can't convert a two-sided formula to a function

我得到了与一些线性混合模型相关的系数,并按以下方式存储到列表中:

models_list_1 <- data_long %>%
  group_by(signals) %>%
  do(fit = lmerTest::lmer(value ~ COND*SES + (1 |ID), data = .)) %>% 
  pull(fit) %>% 
  lapply(., function(x) summary(x)$coefficients) %>% 
  setNames(unique(data_long$signals))

因为我有兴趣将结果迭代地复制到一些 table,我正在尝试 运行 以下代码

models_list_1 %>%  
  map(.x ~broom::tidy() %>%
    flextable::flextable()
)

但是找回这个错误

Error: Can't convert a two-sided formula to a function

有谁知道如何更正句法吗?

您需要使用 ~ 开始公式,而不是 .x 使用 map:

models_list_1 %>%  
  map(
    ~ .x %>% broom::tidy() %>% pull(x) %>% as_tibble() %>% flextable::flextable()
  )