我想在称为“ rs_93”的数据框中计算烟度的方差值和其他一些因素。看来在同时使用aov函数和for循环时会遇到一些问题。
我已经使用str(rs_93)
和class(rs_93)
来检查_rs_93_是一个数据帧,并使用is.atomic(rs_93)
来检查它不是原子向量。
for (i in 4:13){
a<-cor(rs_93$smoke_rate,rs_93[,i])
print(a)
b<-summary(aov(rs_93$smoke_rate,rs_93[,i]))
print(b)
}
Error: $ operator is invalid for atomic vectors
答案 0 :(得分:0)
aov
与cor
不同,因为它以变量作为公式,而不是cor
中的x,y,请参见?aov
公式 指定模型的公式
因此,下面的内容可以正常工作,mtcars
用于可重复性
for(i in 3:6){
print(cor(mtcars$mpg,mtcars[,i]))
print(summary(aov(as.formula(paste('mpg','~',colnames(mtcars[i]))), data=mtcars)))
}