I wrote a loop in which I iterate through the columns of a given .csv and run an anova and posthoc test. I then combine the results of each into a data frame and export it to a .csv file. However, I cannot get rbind() to build my data.frame. Any help on this? Here is the script:
setwd("~/School/Lab/mice/sugar_study_2015/MG-RAST and Metagenassist/Trimmed/R. CSV")
#Save your Datasheet into variable X
x <- read.csv("T0_B_Class_Anova.csv")
x = x[1:9,]
x[is.na(x)] <- 0
DF.Anova <- data.frame()
DF.Tukey <- data.frame()
#Counts through the columns
for(i in 2:(ncol(x)-1)){
  columns <- names(x[i])
 
##Runs an ANOVA - 'Group' being a grouping factor
  anovaresult <- anova(aov(x[,i]~Group,data=x))
  
  DF.Anova <- rbind(DF.Anova, anovaresult)
 
  ##fix anova into data frame
  Famall = colnames(x)
  Famall = as.data.frame(Famall)
  Famall = Famall[2:83,]
  Famall = as.data.frame(Famall)
  DFanovanames = rep(Famall, each = 2)
  DFanovanames = as.data.frame(DFanovanames)
  #install.packages("tidyr")
  library(tidyr)
  anovanames = data.frame(Names=unlist(DFanovanames, use.names = FALSE))
  o.anovanames = dplyr::arrange(anovanames, Names)
###dont forget to change this**************************
  finalanova_BFT0 = cbind(rn = rownames(DF.Anova), DF.Anova, o.anovanames)
 
##Runs Tukeys Post-hoc test on Anova
  posthocresult <- TukeyHSD(aov(x[,i]~Group,data=x))
 
  DF.Tukey <- rbind(DF.Tukey, posthocresult$Group)
 
  ##fix tukey into data frame
  Famname = colnames(x)
  Famname = as.data.frame(Famname)
  Famname = Famname[2:83,]
  Famname = as.data.frame(Famname)
  DFposthocnames = rep(Famname, each = 3)
  DFposthocnames = data.frame(DFposthocnames)
  #install.packages("tidyr")
  library(tidyr)
  library(dplyr)
  posthocnames = data.frame(Names=unlist(DFposthocnames, use.names = FALSE))
  o.posthocnames = dplyr::arrange(posthocnames, Names)
###dont forget to change this****************************
  finalposthoc_BFT0 = cbind(rn = rownames(DF.Tukey), DF.Tukey, o.posthocnames)
                           
##Prints posthoc results into txt file
  print(columns)
  print(anovaresult)
  print(posthocresult)
}
 
write.csv(finalanova_BFT0, file="testfinalanova_BCT0")
write.csv(finalposthoc_BFT0, file="finalposthoc_BCT0")You can find the sample .csv here
 
    