【问题标题】:building multiple models per group每组构建多个模型
【发布时间】:2017-12-09 21:47:16
【问题描述】:

我想对我的数据进行分组,然后每组构建两个线性模型,收集结果,并使用扫帚总结模型参数,但我遇到了一个我似乎无法理解的无限递归错误。代码如下:

library(dplyr)
library(tidyr)
library(broom)

mtcars %>% 
group_by(am) %>% 
dplyr::do(simple_fit =  lm(mpg ~ disp, data = .), 
          complex_fit = lm(mpg ~ disp + hp, data = .)) %>% 
ungroup()
gather(model_type, model, -am) %>% 
broom::tidy(model)

导致此错误:

Error: evaluation nested too deeply: infinite recursion / options(expressions=)?

这个例子中只有 4 个模型,所以我不明白为什么我会遇到这么深的嵌套循环?

【问题讨论】:

    标签: r dplyr tidyr lm broom


    【解决方案1】:

    我在 github 上发现一条评论解决了我的问题 here

    固定版本代码如下:

    mtcars %>% 
    group_by(am) %>% 
    dplyr::do(simple_fit = lm(mpg~disp, data = .), 
              complex_fit = lm(mpg ~ disp + hp, data = .)) %>% 
    ungroup() %>% 
    gather(model_type, model, -am) %>% 
    rowwise() %>% 
    broom::tidy(model)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-28
      • 2010-10-06
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      相关资源
      最近更新 更多