1

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

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

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

我想知道是否有一种快速的方法可以定义调节变量列表,然后“交换”感兴趣的调节变量(可能使用函数),其中“调节器”定义如下:

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

因此,例如,该函数将与某个主持人(例如用户年龄)一起运行模型并打印/保存结果,然后与另一个主持人(例如用户隐私关注级别)再次使用它并打印/保存结果,等等在。

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

任何提示将非常感谢!.

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

4

1 回答 1

0

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

定义主持人列表,例如:

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))
}
于 2020-06-19T09:26:23.247 回答