On 30/08/2007, at 9:41 AM, [EMAIL PROTECTED] wrote: > Rusers, > > I am trying to append multiple .csv files of different dimensions (but > # of columns are the same for all .csv files). I do have .csv files > whose names are CA1.csv ~ CA100.csv. CA means california and 1 means > the first file. So what I have been doing (after googling how to > append > by row multiple files) was: > > cleanup_data<-function(state,count) > { > out<-matrix() > for (i in 1: count) > { > tmp<-read.csv(paste > ("CTPP3/",state,i,".csv",sep=""),header=F) > out<-rbind(out,tmp) > } > write.csv(file.out,file='file_output.csv') > } > > I got an error message: > > cleanup_data('CA',7) > Error in match.names(clabs, names(xi)) : names do not match > previous names > > > Which name is this error message referring to? > > I decided to get out of Excel and Access trap.....
Good thinking! I'd guess that the problem is with the initialization of ``out''. This matrix doesn't have *any* column names, whereas the data frame (***not*** matrix!) ``tmp'' will have column names V1, V2, .... (or something like that). You could solve your problem by initializing out <- NULL (instead of matrix()). Your ``write.csv'' at the end will throw an error if the function ever gets to it ---- ``file.out'' doesn't exist. You perhaps want write.csv(out, file="etc."). This is not good programming anyhow --- your cleanup_data() function should *return a value*. The write.csv call should be ``done to this value'', outside of the cleanup_data() function. IMHO. A sexier way to do what you want would be: cleanup_data <- function(state,count) { rslt <- list() for(i in 1:count) rslt[[i]] <- read.csv(paste("etc.")) do.call(rbind,rslt) } cheers, Rolf Turner ###################################################################### Attention:\ This e-mail message is privileged and confidenti...{{dropped}} ______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.