R 如何计算给定变量集的所有可能模型

R 如何计算给定变量集的所有可能模型,r,R,我想在R中找到一个命令,以便计算给定变量集的所有可能模型。 例如,对于三个变量x1、x2和x3,有8种可能的模型: m1: x1+x2+x3 m2: x1*x2+x3 m3: x1*x3+x2 m4: x2*x3+x1 m5: x1*x2+x1*x3 m6: x1*x2+x2*x3 m7: x1*x3+x2*x3 m8: x1*x2*x3 如果我有5个变量,则有6894个不同的模型,包括所有可能的交互作用,但我想用R确认。答案是 “如果我想让x1、x2和x3的主效应保持不变?”乔

我想在R中找到一个命令,以便计算给定变量集的所有可能模型。 例如,对于三个变量x1、x2和x3,有8种可能的模型:

m1: x1+x2+x3

m2: x1*x2+x3

m3: x1*x3+x2

m4: x2*x3+x1

m5: x1*x2+x1*x3

m6: x1*x2+x2*x3

m7: x1*x3+x2*x3

m8: x1*x2*x3
如果我有5个变量,则有6894个不同的模型,包括所有可能的交互作用,但我想用R确认。答案是


“如果我想让x1、x2和x3的主效应保持不变?”乔治我相应地编辑了我的答案。基本上,我需要看到可能的组合,保持x1、x2、x3的主效应不变。我猜结果会是这样的:[1,2,3][1,2,3,12],[1,2,3,13][1,2,3,23][1,2,3,12,13][1,2,3,12,23][1,2,3,13]没有交互作用123@George如果你想省略三路交互,不要认为它是一种可能的输出模型。告诉R函数省略它要复杂得多。
options(na.action = "na.fail") # avoid getting an error

library(MuMIn)

fullmodel <- lm(y ~ x1 * x2 * x3)

dredge(fullmodel, fixed = ~ x1 + x2 + x3)