Hello: I'm reading in a series of text files (100 files that are each 2000 rows by 6 columns). I wish to combine the columns (6) of each file (100) and get the row mean. I'd like to end up with a data.frame of 2000 rows by 6 columns.
foo <- list() for(i in 1:10){ # The real data are read in from a series of numbered text files foo[[i]] <- data.frame(x1 = rnorm(100), x2 = rnorm(100), x3 = rnorm(100), x4 = rnorm(100), x5 = rnorm(100), x6 = rnorm(100)) } str(foo) # by hand mean.x1 <- rowMeans(cbind(foo[[1]][,1],foo[[2]][,1],foo[[3]][,1],foo[[4]][,1],foo[[5]][ ,1]), foo[[6]][,1],foo[[7]][,1],foo[[8]][,1],foo[[9]][,1 ],foo[[10]][,1])) mean.x2 <- rowMeans(cbind(foo[[1]][,2],foo[[2]][,2],foo[[3]][,2],foo[[4]][,2],foo[[5]][ ,2]), foo[[6]][,2],foo[[7]][,2],foo[[8]][,2],foo[[9]][,2 ],foo[[10]][,2])) # and so on to column 6 mean.x6 <- rowMeans(cbind(foo[[1]][,6],foo[[2]][,6],foo[[3]][,6],foo[[4]][,6],foo[[5]][ ,6]), foo[[6]][,6],foo[[7]][,6],foo[[8]][,6],foo[[9]][,6 ],foo[[10]][,6])) I've implemented this with nested loops that create temporary variables and calc the mean, but the approach is clunky. E.g., # nested loops for(i in 1:ncol(foo[[1]])){ for(j in 1:length(foo)){ # etc ... } } Is there a way to build a better mouse trap? TIA, Andy Thanks, Andy ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html