i have the list data
which contains 10 elements (Stock 1..10) each looking like this:
test <- data$Stock1
> head(test)
names date_tmp efficiency
1 Stock1 2010-11-04 0.5674100
11 Stock1 2010-11-05 0.2945661
21 Stock1 2010-11-08 0.6318756
31 Stock1 2010-11-09 0.3203930
41 Stock1 2010-11-10 0.8075944
51 Stock1 2010-11-11 1.0000000
I want to merge the columns of all frames in this list. I have the following code which i adapted from somewhere else:
new_frame <- do.call(cbind,Map(cbind, lapply(data, as.data.frame)))
My problem is that the end result looks very messy:
Stock1.names Stock1.date_tmp Stock1.efficiency Stock10.names Stock10.date_tmp Stock10.efficiency Stock2.names
1 Stock1 2010-11-04 0.5674100 Stock10 2010-11-04 1.0000000 Stock2
11 Stock1 2010-11-05 0.2945661 Stock10 2010-11-05 1.0000000 Stock2
21 Stock1 2010-11-08 0.6318756 Stock10 2010-11-08 1.0000000 Stock2
31 Stock1 2010-11-09 0.3203930 Stock10 2010-11-09 1.0000000 Stock2
41 Stock1 2010-11-10 0.8075944 Stock10 2010-11-10 0.0000000 Stock2
51 Stock1 2010-11-11 1.0000000 Stock10 2010-11-11 0.8065724 Stock2
Stock2.date_tmp Stock2.efficiency Stock3.names Stock3.date_tmp Stock3.efficiency Stock4.names Stock4.date_tmp
1 2010-11-04 1 Stock3 2010-11-04 1 Stock4 2010-11-04
11 2010-11-05 1 Stock3 2010-11-05 0 Stock4 2010-11-05
21 2010-11-08 1 Stock3 2010-11-08 1 Stock4 2010-11-08
31 2010-11-09 0 Stock3 2010-11-09 1 Stock4 2010-11-09
41 2010-11-10 1 Stock3 2010-11-10 1 Stock4 2010-11-10
51 2010-11-11 1 Stock3 2010-11-11 1 Stock4 2010-11-11
Stock4.efficiency Stock5.names Stock5.date_tmp Stock5.efficiency Stock6.names Stock6.date_tmp
1 1 Stock5 2010-11-04 0.5218197 Stock6 2010-11-04
11 1 Stock5 2010-11-05 0.6762827 Stock6 2010-11-05
21 1 Stock5 2010-11-08 0.7991099 Stock6 2010-11-08
31 1 Stock5 2010-11-09 0.5613898 Stock6 2010-11-09
41 1 Stock5 2010-11-10 0.5531570 Stock6 2010-11-10
51 1 Stock5 2010-11-11 0.8151261 Stock6 2010-11-11
Stock6.efficiency Stock7.names Stock7.date_tmp Stock7.efficiency Stock8.names Stock8.date_tmp
1 0.5498426 Stock7 2010-11-04 1 Stock8 2010-11-04
11 0.5534652 Stock7 2010-11-05 1 Stock8 2010-11-05
21 0.3897874 Stock7 2010-11-08 1 Stock8 2010-11-08
31 0.4405610 Stock7 2010-11-09 1 Stock8 2010-11-09
41 0.8180463 Stock7 2010-11-10 1 Stock8 2010-11-10
51 0.1491688 Stock7 2010-11-11 1 Stock8 2010-11-11
Stock8.efficiency Stock9.names Stock9.date_tmp Stock9.efficiency
1 0 Stock9 2010-11-04 0.2756548
11 1 Stock9 2010-11-05 0.5204240
21 1 Stock9 2010-11-08 0.0000000
31 1 Stock9 2010-11-09 0.7940347
41 1 Stock9 2010-11-10 0.6393697
51 1 Stock9 2010-11-11 0.0000000
>
I would like just 1 column containing dates and the efficiency scores rows named just "Stock1...10". I think there is a more efficient way of doing this from the loop function i posted above rather than trying to delete the extra stuff from the new dataframe. Any help is appreciated