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.