boxCox() не примет линейную модель, созданную map(), несмотря на то, что он того же класса?

У меня есть несколько моделей, которые я пытаюсь создать сразу, а затем запустить отдельно boxCox() преобразования. Но каждый раз, когда я пытаюсь бежать boxCox()Я получаю странную ошибку.

Я думаю, что это связано с тем, как формула меняется на .x когда используешь map(), Вот небольшой пример, чтобы продемонстрировать мою ошибку:

library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
library(purrr)
library(broom)
library(car)
#> Loading required package: carData
#> 
#> Attaching package: 'car'
#> The following object is masked from 'package:purrr':
#> 
#>     some
#> The following object is masked from 'package:dplyr':
#> 
#>     recode

formulas <- c(mpg ~ wt,
              sqrt(mpg) ~ wt, 
              sqrt(mpg) ~ sqrt(wt))

proj_lm <- tibble(formulas) %>% 
  mutate(lm_models = map(formulas, ~lm(formula = .x, data = mtcars)))

boxCox(proj_lm$lm_models[[1]])
#> Error in stats::model.frame(formula = .x, data = mtcars, drop.unused.levels = TRUE): object '.x' not found

Создано в 2019-01-11 пакетом представлением (v0.2.1)

0 ответов

Другие вопросы по тегам