我经常喜欢拟合和检查与 R 数据框中的两个变量相关的多个模型。
我可以使用这样的语法来做到这一点:
require(tidyverse)
require(broom)
models <- list(hp ~ exp(cyl), hp ~ cyl)
map_df(models, ~tidy(lm(data=mtcars, formula=.x)))
但我习惯了管道语法,并希望能够做到这样的事情:
mtcars %>% map_df(models, ~tidy(lm(data=., formula=.x)))
这清楚地表明我正在“开始”mtcars
然后对其进行处理以生成我的输出。但是那个语法不起作用,给出一个错误Error: Index 1 must have length 1
。
有没有办法以purrr:map()
一种我可以通过管道mtcars
输入的方式来编写我的函数以获得与上面的工作代码相同的输出?IE
mtcars %>% <<<something>>>