- У меня есть вложенный набор данных, где каждая строка содержит столбец с подмножеством основного набора данных.
- Я хочу запустить регрессии для каждого из этих подмножеств, где я изменяю зависимую переменную.
- Я создал функцию для этого, взяв только одну переменную в качестве зависимой переменной.
- Я пытаюсь использовать карту для зацикливания нескольких возможных зависимых переменных, но похоже, что формула неправильно интерпретируется.
library(purrr)
library(tidyr)
library(rlang)
reg_across_groups <- function(df, var) {
df <- df %>%
nest(data = -c("cyl"))
var_enq <- rlang::enquo(var)
model_formula <- formula(paste0(rlang::quo_name(var_enq), "~ hp"))
df %>%
dplyr::mutate(model = purrr::map(data, ~lm(model_formula, data = .x)))
}
# Works
reg_across_groups(mtcars, mpg)
reg_across_groups(mtcars, "mpg")
# Does not work
c("mpg", "wt") %>%
map(~ reg_across_groups(mtcars, .))
Я получаю следующую ошибкусообщение:
Error in eval(predvars, data, env) : object '.' not found