Variable length error in loop in r

I am trying to loop in r to get multiple Anova results. However I keep getting the following error:

Error in model.frame.default(formula = col ~ Total, data = phil_data, 
:variable lengths differ (found for 'Total')

I don't understand where this comes from as the Anova works outside the loop (see code). Any help is much appreciated.

multi.hist(phil_data[,c(7:23)],density=TRUE,freq=TRUE,bcol="cyan",main=" ")
anovaresult <- anova(aov(x2 ~ Total, data=phil_data))
print(anovaresult)
anovaresult <- anova(aov(x1 ~ Total, data=phil_data))
print(anovaresult)

for(i in c(3, 7:23)){
    col <- colnames(phil_data)[i]
    print(col)
    anovaresult <- anova(aov(col~Total,data=phil_data))
    print(anovaresult)
}

Upvotes: 0

Views: 99

Answers (1)

R.B
R.B

Reputation: 517

    multi.hist(phil_data[,c(7:23)],density=TRUE,freq=TRUE,bcol="cyan",main=" ")
anovaresult <- anova(aov(x2 ~ Total, data=phil_data))
print(anovaresult)
anovaresult <- anova(aov(x1 ~ Total, data=phil_data))
print(anovaresult)

for(i in c(3, 7:23)){
    col[i] <- colnames(phil_data)[i]## add the i index
    print(col[i])
    anovaresult <- anova(aov(phil_data[,col[i]]~Total,data=phil_data))
    print(anovaresult)
}

Upvotes: 1

Related Questions