how to make a loop function with “adonis”?

拟墨画扇 提交于 2019-12-08 07:52:16

问题


 data(dune)
 data(dune.env)

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

When I test each name in colnames(dune.env), it can work. But it can not work in the loop function above. I think it is due to the i in the loop fuction has " ". How to fix it? Thanks.


回答1:


I know nothing about adonis, but I do know that formulas are language objects which do not take nicely to being treated as though they were ordinary character objects.

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


来源:https://stackoverflow.com/questions/34445024/how-to-make-a-loop-function-with-adonis

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!