这是我的数据的标题:
Location Aeration Species Form Method Repeat Days Act Bac COD Fun NH3 NO2 NO3 TN TP SP SS ChlA TDS Sal ODO
现在,我想对从Act到ODO的每个数据进行aov分析,这需要使用公式作为参数,例如Act〜Species,如果不使用循环,则必须输入“ Act〜Species”,“ Bac〜Species”,“ COD〜Species” ...所以我想知道是否存在某种方法可以循环公式中的数据列,既for
循环又apply
系列,例如{{1} }可以。我尝试使用诸如data [,8],data [8]和data [[8]]的索引进行循环,但报告错误。谁能告诉我如何在R公式内循环?以及Hadley Wickham的lapply
软件包(例如tidyverse
)中是否提供了解决方案?预先感谢!
答案 0 :(得分:0)
假设您的数据存储在名为df
的数据框中,并且我进行了正确计数,使得Act
为第8列,而ODO
为第22列:
res_list <- vector(mode="list", length=105)
r <- 1
for (i in 8:22) {
for (j in 8:22) {
if(i>j) {
res_list[[r]] <- aov(as.formula(paste(names(df)[i], "~", names(df)[j])), data=df)
r <- r+1
}
}
}