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



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

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

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

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

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

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

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

任何提示将不胜感激! 🙏 .

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

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

定义主持人列表,例如:

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

然后对于模组列表中的每个 x,将要使用的公式粘贴到其中。可选的打印命令告诉您在模型中选择了哪个 y 变量(作为提醒(,print 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))
}

相关内容

  • 没有找到相关文章