и явно ссылаться на соответствующие данные:

у обновитьlm-модель с использованиемupdate-функция внутриmap-call, но это выдает следующую ошибку:

mtcars %>% group_by(cyl) %>% 
 nest() %>% 
 mutate(lm1 = map(data, ~lm(mpg ~ wt, data = .x)), 
        lm2 = map(lm1, ~update(object = .x, formula = .~ . + hp)))

Error in mutate_impl(.data, dots) : 
  Evaluation error: cannot coerce class ""lm"" to a data.frame.

Может кто-нибудь помочь мне с этой проблемой? Я запутался в этой ошибке, потому что, например, это работает совершенно нормально:

mtcars %>% group_by(cyl) %>% 
  nest() %>% 
  mutate(lm1 = map(data, ~lm(mpg ~ wt, data = .x)), 
         lm2 = map_dbl(lm1, ~coefficients(.x)[1]))

Ответы на вопрос(1)

Решение Вопроса

Это, вероятно, связано с окружающей средой, гдеupdate оценивается. Простой обходной путь заключается в использованииmap2 и явно ссылаться на соответствующие данные:

library(tidyverse)

mtcars %>% group_by(cyl) %>% 
  nest() %>% 
  mutate(lm1 = map(data, ~lm(mpg ~ wt, data = .x)), 
         lm2 = map2(lm1, data, ~update(object = .x, formula. = .~ . + hp,
                                       data = .y)))
#> # A tibble: 3 x 4
#>     cyl               data      lm1      lm2
#>   <dbl>             <list>   <list>   <list>
#> 1     6  <tibble [7 x 10]> <S3: lm> <S3: lm>
#> 2     4 <tibble [11 x 10]> <S3: lm> <S3: lm>
#> 3     8 <tibble [14 x 10]> <S3: lm> <S3: lm>

Ваш ответ на вопрос