Используя dataframe_1
и dataframe_2
, определенные в примечании, в конце мы определяем функцию LM
, которая принимает имя x и имя y и выполняет регрессию y на x, используя столбцы из этих фреймов данных.Результатом является список lm
объектов.Обратите внимание, что строка Call: в выходных данных каждого компонента списка вывода правильно определяет, какие столбцы были использованы.
LM <- function(xname, yname) {
fo <- formula(paste(yname, "~", xname))
do.call("lm", list(fo, quote(cbind(dataframe_1, dataframe_2))))
}
Map(LM, names(dataframe_1), names(dataframe_2))
, что дает:
$x1
Call:
lm(formula = y1 ~ x1, data = cbind(dataframe_1, dataframe_2))
Coefficients:
(Intercept) x1
3.0001 0.5001
... etc ...
Примечание
Использованиевстроенный anscombe
фрейм данных определяет dataframe_1
как столбцы x и data_frame_2 как столбцы y.
dataframe_1 <- anscombe[grep("x", names(anscombe))]
dataframe_2 <- anscombe[grep("y", names(anscombe))]