我正在尝试使用不平衡的双向方差分析进行事后分析anova_test
函数在rstatix
包裹。我需要迭代地运行这个事后测试,因为我有大约 26 个响应 (y) 变量。我的第一步是创建我所有的模型y
与相关的变量group
and treatment
。我已经成功地做到了这一点,创建了一个包含 26 个模型的列表:
models <- map(data[,y1:y26], ~(lm(.x ~data$group*data$treatment)))
现在到了我坚持的部分。迭代地参考这些模型。我想运行以下代码every y
我有变量:
group_by(group) %>%
anova_test(y ~ treatment, error = models(y), type = 3)
我的在哪里y
每次都会发生变化,并且“模型”(在error =
术语)相应更新。我正在努力解决这一问题,因为我制作的第一组模型用于通知第二组模型。
但是,如果我只运行一个y
一次通过这一整段代码,我得到了适当的结果。
model <- lm(y ~ group*treatment, data = data)
data %>%
group_by(group) %>%
anova_test(y ~ treatment, error = model, type = 3)
我尝试创建一个 for 循环以及使用map
函数在purrr
包但是我一直不成功。我是 for 循环的新手purrr
所以我确信这是一个简单的修复,我只是看不到它。
基本上我想要一种跑步方式
data %>%
group_by(group) %>%
anova_test(y ~ treatment, error = model, type = 3)
对于不同的迭代y
变量(y1, y2, ..., y26
)同时也提到了适当的model
(模型$y1,模型$y2,...,模型$26)。
感谢您的帮助!