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)