【问题标题】:Changing the moderating variables used in a linear model in R? (Two-way ANOVA)更改 R 中线性模型中使用的调节变量? (双向方差分析)
【发布时间】:2020-10-05 21:55:21
【问题描述】:

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

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

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

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

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

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

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

任何提示将不胜感激! ????。

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

【问题讨论】:

    标签: r anova interaction experimental-design linearmodels


    【解决方案1】:

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

    定义版主列表,例如:

    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))
    }
    

    【讨论】:

      猜你喜欢
      • 2015-02-19
      • 1970-01-01
      • 2019-01-17
      • 2011-02-25
      • 2013-10-01
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 2015-03-07
      相关资源
      最近更新 更多