arun
2013-Nov-23 16:30 UTC
[R] Combine columns having same column name from multiple data frames
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.