如何使用 "adonis" 制作循环函数?

how to make a loop function with "adonis"?

 data(dune)
 data(dune.env)

 results<-list()
 for (i in colnames(dune.env)){
         results[[i]]<- adonis(dune ~ i, data=dune.env, permutations=99)
  }

当我测试colnames(dune.env)中的每个名称时,它都可以工作。 但是在上面的循环函数中是不行的。我认为这是由于循环函数中的 i" "。如何解决?谢谢。

我对阿多尼斯一无所知,但我知道公式是 language 对象,不能像普通的 character 对象一样对待它们。

for (i in colnames(dune.env)){ 
           form <- as.formula(paste("dune", i, sep="~"))
           results[[i]]<- adonis(form, data=dune.env, permutations=99)
           }