更改 R 中线性模型中使用的调节变量? (双向方差分析)

Changing the moderating variables used in a linear model in R? (Two-way ANOVA)

我正在 R 中执行双向方差分析来分析实验。我有一长串调节变量,我需要在模型中为我的合作伙伴公司测试(主要是数字、连续尺度项目度量)。

这将是实验的基本模型(没有主持人):

model <-lm(data=StudyData, Outcome ~ Factor1*Factor2)
summary.lm(model) 

我想知道是否有一种快速的方法可以定义调节变量列表,然后在感兴趣的调节变量中 "swap"(可能使用函数),其中定义了 "Moderator"下面:

model <-lm(data=StudyData, Outcome ~ Factor1*Factor2*Moderator)
summary.lm(model) 

因此,例如,该函数将 运行 模型一次与某个主持人(例如用户年龄)和 print/save 结果,然后再次与另一个主持人(例如用户隐私问题)一起使用它Level) & print/save 结果等。

这样我就可以避免手动复制和粘贴他们感兴趣的大约 50 个调节变量。

如有任何提示,我们将不胜感激! .

小注:我知道在没有理论原因的情况下在模型中使用许多调节变量可能并不完全科学......但这是公司要求的)

如果有人正在看这个并想找到一种方法,我想通了:

定义版主列表,例如:

modlist <- c("mod1", "mod2", "mod3", "mod4")

然后对于modlist中的每一个x,粘贴你想要使用的公式。可选的打印命令会告诉您您在模型中选择的 y 变量(作为提醒),打印 x 会显示每个模型的结果。

for (x in modlist) {
  lmfit <- lm(as.formula(paste("Outcome ~ Factor1*Factor2*",x)), data= StudyData)
  print("y=Outcome")
  print(x)
  print(summary.aov(lmfit))
}