无法在我的 for 循环代码中正确打印每次迭代

Can't print each iteration in my for loop code correctly

如何为此打印每次迭代?它只是多次打印第一次迭代。或者这是否没有正确地遍历每一列?

编辑:刚刚意识到我一直在方差分析中指定相同的变量。但现在我不知道如何 运行 在每一列上进行方差分析。

CR <- data2[data2$cv == "CR",]
colu <- CR[,5:36]

for (i in colnames(colu)){
  ANOVA <- aov(i ~ block + loc, data=CR)
  ANOVA_SUMMARY <- summary(ANOVA)
  test <- HSD.test(ANOVA , "loc")
  print(test$groups)
}

i 不包含在您的 for 循环中,因此它将打印

的结果
    aov(days_til_flower ~ block + loc, data=CR)

您应该使用 reformulateas.formula 来创建在 aov 中使用的公式对象。试试,

for (i in colnames(colu)){
  ANOVA <- aov(reformulate(c('block', 'loc'), i), data=CR)
  ANOVA_SUMMARY <- summary(ANOVA)
  test <- HSD.test(ANOVA , "loc")
  print(test$groups)
}