我有一个这样的数据集:
library(tidyverse)
set.seed(123)
Data <- data.frame(
X = sample(c("A", "B", "C"), 20, replace = TRUE),
Y = sample(1:20)
)
Data%>%
arrange(X)
我想进行一系列回归,以使DV为Y,但是每次回归的自变量都是一次取两个因子。例如A&B,A&C,B&A,B&C感谢您的帮助。
对于线性回归:
> combos <- as.data.frame(x = combn(x = c("A", "B", "C"), m = 2))
names(combos) <- sapply(
X = 1:3,
FUN = function(x){paste(combos[,x], collapse = "")}
)
> fit.list <- list()
> for (combo in names(combos)){
fit.list[[combo]] <- subset(Data, X %in% combos[,combo]) %>%
lm(formula = .$Y ~ .$X, data = .)
}
> fit.list
$AB
Call:
lm(formula = .$Y ~ .$X, data = .)
Coefficients:
(Intercept) .$XB
10.4 3.6
$AC
Call:
lm(formula = .$Y ~ .$X, data = .)
Coefficients:
(Intercept) .$XC
10.4 -2.9
$BC
Call:
lm(formula = .$Y ~ .$X, data = .)
Coefficients:
(Intercept) .$XC
14.0 -6.5