【发布时间】:2021-07-10 20:05:32
【问题描述】:
我正在尝试比较使用特定对比的许多列的 LM 处理之间的均值。当我单独运行每一列时,它工作得很好,但我有超过 1000 列,单独设置它们是不可行的。我对 R 很陌生,还没有弄清楚如何使用循环,所以任何帮助都将不胜感激。
这就是我设置对比度的方式
df$GROUP <- factor(df$GROUP, levels = c("TRT1", "TRT2", "TRT3", "TRT4", "TRT5", "TRT6", "TRT7"))
Contrasts <- list(A = c(0, 1, 0, -1, 0, 0, 0),
B = c(-1, 2, 0, -1, 0, 0, 0),
C = c(0, 1, -1, 0, 0, 0, 0),
D = c(0, 0, 0, 1, 1, -1, -1),
E = c(0, 0, 0, 1, -1, -1, 1),
F = c(0, 0, 0, 1, -1, 1, -1))
This is an example of my data set
基本上我需要为每一列运行这段代码。
lm1 <- lm(CE(12:0) ~ GROUP, data = df)
lsmean <- emmeans(lm1, "GROUP")
contrast(lsmean, Contrasts, adjust = "none")
【问题讨论】:
-
这是一个类
mlm。所以只需执行lm1<-lm(as.matrix(df[-1])~GROUP, data = df)这将为您运行所有回归