Здесь проблема в том, что формуле нужны имена столбцов, а не значения
functions <- function(dat, x, y) {
form1 <- paste0("dep ~ ", x, " + ", y)
form2 <- paste0("dep ~ ", "I(", x, "*", y, ")")
form3 <- paste0("log(dep) ~", "I(log(", x, "+1)^2) + I(log(", y, "+1)^2)")
eq1 <- lm(form1, data = dat)
eq2 <- lm(form2, data = dat)
eq3 <- lm(form3, data = dat)
list1 <- list(eq1, eq2, eq3)
names(list1) <- paste0("mod", 1:3)
return(list1)
}
out <- lapply(split(df, df$group), function(x) functions(x, "ind1", "ind2"))
Кроме того, поскольку выходные данные являются вложенными list
, нам может потребоваться попасть внутрь внутреннего list
чтобы извлечь summary
lapply(out, function(x) lapply(x, summary))