Hi, You may try: lapply(seq_len(ncol(data1)),function(i) {x1 <- do.call(cbind,lapply(lapply(as.list(paste0("data",1:3)),get),`[`,i)); write.csv(x1,paste0("new",i,".csv"),quote=FALSE) })
A.K. Dear All, I am trying to combine columns having same name from 3 different data frames and create new data frame with combined columns. The challenging thing is each data-frame has 100 columns so I have to create 100 new data frames and write each data-frame as new text file with unique column name. Example: > data1 1 2 3 4 5 6 7 8 9 x -39532.0 -39472.0 -39472.0 -39592.0 -39532.0 -39472.0 -39412.0 -39592.0 -39412.0 y 2015408.1 2015348.1 2015288.1 2015228.1 2015228.1 2015228.1 2015228.1 2015168.1 2015168.1 id 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 srad_120 496.0 496.0 496.0 496.0 496.0 496.0 496.0 496.0 496.0 srad_121 441.6 441.6 441.6 441.6 441.6 441.6 441.6 441.6 441.6 srad_122 150.4 150.4 150.4 150.4 150.4 150.4 150.4 150.4 150.4 srad_123 249.6 249.6 249.6 249.6 249.6 249.6 249.6 249.6 249.6 srad_124 272.0 272.0 272.0 272.0 272.0 272.0 272.0 272.0 272.0 srad_125 153.6 153.6 153.6 153.6 153.6 153.6 153.6 153.6 153.6 > data2 1 2 3 4 5 6 7 8 9 x -39532.0 -39472.0 -39472.0 -39592.0 -39532.0 -39472.0 -39412.0 -39592.0 -39412.0 y 2015408.1 2015348.1 2015288.1 2015228.1 2015228.1 2015228.1 2015228.1 2015168.1 2015168.1 id 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 srad_120 542.0 542.0 542.0 542.0 542.0 542.0 542.0 542.0 542.0 srad_121 487.6 487.6 487.6 487.6 487.6 487.6 487.6 487.6 487.6 srad_122 196.4 196.4 196.4 196.4 196.4 196.4 196.4 196.4 196.4 srad_123 295.6 295.6 295.6 295.6 295.6 295.6 295.6 295.6 295.6 srad_124 318.0 318.0 318.0 318.0 318.0 318.0 318.0 318.0 318.0 srad_125 199.6 199.6 199.6 199.6 199.6 199.6 199.6 199.6 199.6 > data3 1 2 3 4 5 6 7 8 9 x -39532.0 -39472.0 -39472.0 -39592.0 -39532.0 -39472.0 -39412.0 -39592.0 -39412.0 y 2015408.1 2015348.1 2015288.1 2015228.1 2015228.1 2015228.1 2015228.1 2015168.1 2015168.1 id 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 srad_120 578.0 578.0 578.0 578.0 578.0 578.0 578.0 578.0 578.0 srad_121 523.6 523.6 523.6 523.6 523.6 523.6 523.6 523.6 523.6 srad_122 232.4 232.4 232.4 232.4 232.4 232.4 232.4 232.4 232.4 srad_123 331.6 331.6 331.6 331.6 331.6 331.6 331.6 331.6 331.6 srad_124 354.0 354.0 354.0 354.0 354.0 354.0 354.0 354.0 354.0 srad_125 235.6 235.6 235.6 235.6 235.6 235.6 235.6 235.6 235.6 write.csv(cbind(data1[,1], data2[,1], data3[,1]), "new1.csv") Above statement generates new csv file that has first column of each data frame (data1, data2, data3). V1 V2 V3 x -39531.99524 -39531.99524 -39531.99524 y 2015408.131 2015408.131 2015408.131 id 1 1 1 srad_120 496 542 578 srad_121 441.6000061 487.6000061 523.6000061 srad_122 150.3999939 196.3999939 232.3999939 srad_123 249.6000061 295.6000061 331.6000061 srad_124 272 318 354 srad_125 153.6000061 199.6000061 235.6000061 Similarly I need to create 9 csv files using 9 columns in each data frame. If possible, please help in this. Thank you very much. ______________________________________________ R-help@r-project.org 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.