R: List of named, numeric Columns of unequal size to data frame by name : <p>I got a list of Variables of unequal size</p>

<pre><code>List of 61
$ AMGN: Named num [1:2982] 58.1 60.6 60.8 60.3 60.6 ...
  ..- attr(*, "names")= chr [1:2982] "2007-01-03" "2007-01-04" "2007-01-05" "2007-01-08" ...
$ ANIK: Named num [1:2982] 13.2 13.3 13.3 13.2 13.1 ...
  ..- attr(*, "names")= chr [1:2982] "2007-01-03" "2007-01-04" "2007-01-05" "2007-01-08" ...
$ ADMA: Named num [1:1272] 8.55 8.53 8.4 8.45 8.49 8.4 8.4 8.5 8.4 8.4 ...
  ..- attr(*, "names")= chr [1:1272] "2013-10-17" "2013-10-18" "2013-10-21" "2013-10-22" ...
$ ILMN: Named num [1:2982] 19.2 19.5 19.3 19.3 19.7 ...
  ..- attr(*, "names")= chr [1:2982] "2007-01-03" "2007-01-04" "2007-01-05" "2007-01-08" ...
</code></pre>

<p>which I want to merge into a data frame based on each elements name, which is a date, that should overlap but not always , therefor essentially a full join.</p>

<p>As it is a list I tried ldply(list,rbind) and it seems to be doing something in this direction, yet it comes along with an .id field and column names are the dates, which is why I transposed, but the structure seems to be very broken and I cannot retain a nice data frame in which:</p>

<p>each Variable (AMGN, ANIK, ...) is one column,
all dates are represented either as rownames or as additional column date,
each value assigned correctly and for missing values at dates NA is imputed.</p>

<p>For anynone wanting to code along I am putting down the Code</p>

<pre><code>library(quantmod)
library(quantstrat)
library(stringdist)
library(plyr)
library(dplyr)
companies&lt;-c("4SC AG", "aap Implantate AG", "ACADIA Pharmaceuticals Inc.", 
"Acorda Therapeutics, Inc.", "Acusphere Inc", "Agennix AG", "Agenus Inc", 
"Alexion Pharmaceuticals Inc.", "Alnylam Pharmaceuticals Inc.", 
"Amgen Inc.", "Anika Therapeutics Inc.", "Apricus Biosciences Inc Registered Shs", 
"ArQule Inc.", "Array BioPharma Inc.", "B.R.A.I.N. Biotechnology Research and Information Network AG", 
"Bachem AG", "Bausch Health", "Bavarian Nordic A/S", "Bayer", 
"BB BIOTECH AG", "Biofrontera AG", "Biogen Inc", "Biomarin Pharmaceutical Inc.", 
"Biosearch S.A.", "Biotest AG", "Cambrex Corp.", "Celgene Corp.", 
"Celldex Therapeutics Inc", "Cerus Corp.", "co.don AG", "Compugen Ltd.", 
"curasan AG", "Curetis", "DAIICHI SANKYO CO LTD (spons. ADRs)", 
"DowDuPont Inc.", "Dr. Reddy's Laboratories Ltd. (Spons. ADRS)", 
"Emergent BioSolutions Inc.", "Emisphere Technologies Inc.", 
"Enzo Biochem Inc.", "Enzon Pharmaceuticals Inc.", "Eurofins Scientific Group S.A.", 
"EVOTEC AG", "EXACT Sciences Corp.", "Exelixis Inc.", "General Electric Co.", 
"Genmab A-S", "Genus plc", "Geron Corp.", "Gilead Sciences Inc.", 
"Halozyme Therapeutics Inc.", "Heidelberg Pharma AG", "Helix Biopharma Corp.", 
"IDEXX Laboratories", "Illumina Inc.", "ImmunoGen Inc.", "Immunomedics Inc.", 
"Incyte Corp.", "Insys Therapeutics Inc", "Integra LifeSciences Holdings Corp.", 
"Ionis Pharmaceuticals Inc", "Johnson &amp; Johnson", "La Jolla Pharmaceutical Co", 
"Ligand Pharmaceuticals Inc", "Lonza AG (N)", "Medigene AG", 
"Medivir AB", "Merck KGaA", "Meridian Bioscience Inc.", "Meridian Waste Solutions Inc Registered Shs", 
"MOLOGEN AG", "Momenta Pharmaceuticals Inc.", "Myriad Genetics Inc.", 
"Nektar Therapeutics", "Neurocrine Biosciences Inc.", "NewLink Genetics Corp.", 
"Novartis AG", "Novozymes A-S (B)", "PAION AG", "Palatin Technologies Inc", 
"PDL BioPharma Inc.", "Pfizer Inc.", "PledPharma AB", "Progenics Pharmaceuticals Inc.", 
"Proteo Inc.", "QIAGEN N.V.", "Regeneron Pharmaceuticals Inc.", 
"Repligen Corp.", "RTI Biologics Inc", "Sangamo Therapeutics Inc", 
"Sangui Biotech International Inc.", "Sanofi S.A.", "Sartorius AG St.", 
"Sartorius AG Vz.", "Seattle Genetics Inc.", "Shire PLC", "SIGA Technologies Inc.", 
"Spectrum Pharmaceuticals IncShs", "Takara Holdings Inc.", "Teva Pharmaceutical Industries Ltd. (spons. ADRs)", 
"Transgene S.A.", "Trinity Biotech plc (Spons. ADRs)", "United Therapeutics Corp.", 
"Valneva", "Vertex Pharmaceuticals Inc.", "Vical Inc")
ref&lt;-stockSymbols()
cf&lt;-data.frame(Name="Company",Ref="Company",Symbol="Code")
for(i in companies){
  if(!(i %in% ref$Name)){
    flag=T
     for(j in 1:(round(nchar(i)/4)+1)){
       if(flag){
      dist=j
      hit&lt;-amatch(i,ref$Name,maxDist=dist)

 #print(paste("matches:",hit,"distance",dist,"item",i,"length",nchar(i)))
      if(!is.na(hit)){
           cf&lt;-rbind(cf,data.frame(Name=i,Ref=ref$Name[hit],Symbol=ref$Symbol[hit]))
       flag=F}}}}}
cf&lt;-rbind(cf,data.frame(Name=ref$Name[ref$Name %in% 
companies],Ref=ref$Name[ref$Name %in% companies],Symbol=ref$Symbol[ref$Name %in% companies]))
cf&lt;-cf[-1,]
cf$Symbol&lt;-as.character(cf$Symbol)
gitgat&lt;-function(x) {
  tf&lt;-setNames(coredata(x)[,ncol(coredata(x))], as.character(index(x)))
}
Data &lt;- new.env()
getSymbols(cf$Symbol,src="yahoo", env=Data)    
Freq &lt;- eapply(Data, function(s) gitgat(s))
keys &lt;- unique(unlist(lapply(Freq, names)))
kal&lt;-ldply(Freq,rbind)
kol&lt;-as.data.frame(t(kal))
</code></pre>
