Определите независимые переменные и форматы формул, и из этого мы можем получить строки формул.Поскольку lm
принимает строки в качестве формул, мы можем применить их к списку lm
объектов, имена которых являются формулами.
ind <- c("ind1", "ind2", "ind3")
fmt <- c("dep ~ %s",
"dep ~ poly(%s, 2, raw=TRUE)",
"dep ~ poly(%s, 3, raw=TRUE)")
fo.strings <- c(outer(fmt, ind, sprintf))
sapply(fo.strings, lm, data = df, simplify = FALSE)
Вопросы к SO должны включать воспроизводимый код, а df
был опущенот вопроса, но мы можем запустить его с помощью встроенного фрейма данных anscombe, как это:
fmt <- c("y1~ %s",
"y1~ poly(%s, 2, raw=TRUE)",
"y1 ~ poly(%s, 2, raw=TRUE)")
ind <- c("x1", "x2", "x3")
fo.strings <- c(outer(fmt, ind, sprintf))
sapply(fo.strings, lm, data = anscombe, simplify = FALSE)