#r #lm
#r #lm
Вопрос:
Если у меня есть набор данных с переменными A, X, Y и Z, и я хочу запустить две линейные регрессии — обе имеют A в качестве зависимой переменной, но у одной X в качестве независимой переменной, а у другой Y (обратите внимание — НЕ множественная регрессия), что я могу сделать?
lm(A ~ X, Y, df = df)
похоже, это не работает и, очевидно lm(A ~ X Y, df = df)
, становится множественной регрессией. Я могу использовать lm(A ~ ., - Z, df = df)
, но я ищу способ, которым я мог бы выбирать и выбирать несколько переменных для использования в качестве независимой переменной. Спасибо.
Комментарии:
1. попробуйте
lm(A ~ X | Y, df
Ответ №1:
lmList
в nlme можно запускать несколько регрессий одновременно:
library(nlme)
DF <- data.frame(A = 1:10, X = 1:5, Y = 11:15, Z = 1:10)
DF2 <- cbind(A = DF$A, stack(DF[c("X", "Y")]))
lmList(A ~ values | ind, DF2)
Ответ №2:
Вот альтернатива, использующая formulas()
from package modelr
:
df <- data.frame(A = 1:10, X = 1:5, Y = 11:15, Z = 1:10)
library(modelr)
ll <- formulas(~ A,
m1 = ~ X,
m2 = ~ Y
)
results_list <- lapply(ll, lm, data = df)