对于某些reason,我需要手动包括两个分类变量之间的交互项。 我在下面使用虹膜数据集提供了一些示例:
iris$group <- as.factor(rep(c("a","b")))
str(iris)
#model without interaction
mod <- lm(Sepal.Length ~ Sepal.Width+Species+group, iris)
summary(mod)
#model with interaction(Species*group)
mod2 <- lm(Sepal.Length ~ Sepal.Width+Species*group, iris)
summary(mod2)
据我对here的理解,我们仅包括主要影响中的可能组合(或减去与参考组的组合)。
#dummy variables for interaction
int1 <- ifelse(iris$Species=="versicolor" & iris$group=="b", 1, 0)
int2 <- ifelse(iris$Species=="virginica" & iris$group=="b", 1, 0)
#another method for dummy variable for the interaction
iris$int <- interaction(iris$Species, iris$group)
levels(iris$int)
int3 <- ifelse(iris$int=="versicolor.b", 1, 0)
int4 <- ifelse(iris$int=="virginica.b", 1, 0)
#model with dummy variables
mod3 <- lm(Sepal.Length ~ Sepal.Width+Species+group+int1+int2, iris)
mod4 <- lm(Sepal.Length ~ Sepal.Width+Species+group+int3+int4, iris)
summary(mod3)
summary(mod4)
summary(mod2)
我在这里得到相同的结果。但是,当我尝试将此概念应用于我的actual problem时,对我来说似乎并不正确。
有人知道吗?还是我做错了,但是偶然得到了相同的结果?