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
有" "
。怎么解决?谢谢。
答案 0 :(得分:4)
我对adonis一无所知,但我确实知道公式是language
个对象,这些对象不能很好地被视为普通的character
对象。
for (i in colnames(dune.env)){
form <- as.formula(paste("dune", i, sep="~"))
results[[i]]<- adonis(form, data=dune.env, permutations=99)
}