[R] binding two lists of lists of dataframes together

Vin Cheng newrnewbie at hotmail.com
Thu May 14 16:15:51 CEST 2015


Hi David,
 
Understood.  I've done a lot of work around this structure, but if there isn't anyway to change it back to the original structure then I'll work around it.
 
Could you possibly show me how to add colnames to list3a?
 
c("id","WgtBand","Wgt","Held","LID","Issuer","Bid","Offer") these would be repeated once for each V1,V2,V3.
 
Thank you again for all the help!  It's much appreciated!
Vince

 
> Subject: Re: [R] binding two lists of lists of dataframes together
> From: dwinsemius at comcast.net
> Date: Wed, 13 May 2015 15:51:47 -0700
> CC: r-help at r-project.org
> To: newrnewbie at hotmail.com
> 
> 
> On May 13, 2015, at 2:01 PM, Vin Cheng wrote:
> 
> > Hi David,
> >  
> > I tried both solutions you provided(lapply(dlist, function(x) rbind(x,x) ) & Map( rbind, smaller, smaller))  and they seem to transpose and reshape the data into a different structure.  Whenever I added the str - I only get a NULL.
> 
> I believe you are misrepresenting my suggestion. I suggested that you coerce each of the items in those lists to data.frames with appropriate column names before applying rbind.data.frame
> 
> Those list1 and list2 examples appear to me as pathologically deformed. They claim to be data.tables but they have no self referential pointers, suggesting to me that they are not data.tables, and they have no column names suggesting not either data.table, nor data.frame.
> 
> > class(list1)
> [1] "data.table" "data.frame"
> > class(list2)
> [1] "data.table" "data.frame"
> 
> >  
> > > You basically want a list of the same general structure as list1 where all the elements in list two at the same position and depth have been concatenated?
> >  
> > Yes - that sounds exactly right.
> >  
> Fix up the data.structures, first. Then use Map(rbind, ...)   .... as described previously.
> 
>  list1a <- lapply(list1, function(x) setNames( data.frame(x), paste0("V", seq(length(x)) ) ) )
>  list2a <- lapply(list2, function(x) setNames( data.frame(x), paste0("V", seq(length(x)) ) ))
>  list3a <- Map( rbind.data.frame, list1a, list2a)
>  str(list3a)
> 
> List of 3
>  $ V1:'data.frame':	22 obs. of  8 variables:
>   ..$ V1: int [1:22] 15 19 28 9 17 3 11 21 7 8 ...
>   ..$ V2: num [1:22] 1 1 2 3 4 5 6 7 8 9 ...
>   ..$ V3: num [1:22] NaN NaN NA NA NA NA NA NA NA NA ...
>   ..$ V4: num [1:22] 0 0 0 0 0 0 0 0 0 0 ...
>   ..$ V5: Factor w/ 29 levels "ID1","ID10","ID11",..: 7 11 21 29 9 23 3 14 27 28 ...
>   ..$ V6: Factor w/ 29 levels "Issuer1","Issuer10",..: 7 11 21 29 9 23 3 14 27 28 ...
>   ..$ V7: num [1:22] 99.5 95.5 99.5 100 98.5 ...
>   ..$ V8: num [1:22] 0.4 0.55 0.4 0.4 0.5 0.45 0.4 0.45 0.6 0.4 ...
>  $ V2:'data.frame':	22 obs. of  8 variables:
>   ..$ V1: int [1:22] 10 29 5 19 28 3 10 12 1 21 ...
>   ..$ V2: num [1:22] 1 1 2 3 4 5 6 7 8 9 ...
>   ..$ V3: num [1:22] NaN NaN NA NA NA NA NA NA NA NA ...
>   ..$ V4: num [1:22] 0 0 0 0 0 0 0 0 0 0 ...
>   ..$ V5: Factor w/ 29 levels "ID1","ID10","ID11",..: 2 22 25 11 21 23 2 4 1 14 ...
>   ..$ V6: Factor w/ 29 levels "Issuer1","Issuer10",..: 2 22 25 11 21 23 2 4 1 14 ...
>   ..$ V7: num [1:22] 98.5 100.2 99 95.5 99.5 ...
>   ..$ V8: num [1:22] 0.6 0.4 0.45 0.55 0.4 0.45 0.6 0.55 0.5 0.45 ...
>  $ V3:'data.frame':	22 obs. of  8 variables:
>   ..$ V1: int [1:22] 21 28 3 7 25 25 15 13 3 20 ...
>   ..$ V2: num [1:22] 1 1 2 3 4 5 6 7 8 9 ...
>   ..$ V3: num [1:22] NaN NaN NA NA NA NA NA NA NA NA ...
>   ..$ V4: num [1:22] 0 0 0 0 0 0 0 0 0 0 ...
>   ..$ V5: Factor w/ 29 levels "ID1","ID10","ID11",..: 14 21 23 27 18 18 7 5 23 13 ...
>   ..$ V6: Factor w/ 29 levels "Issuer1","Issuer10",..: 14 21 23 27 18 18 7 5 23 13 ...
>   ..$ V7: num [1:22] 98 99.5 99.6 99.8 99.4 ...
>   ..$ V8: num [1:22] 0.45 0.4 0.45 0.6 0.4 0.4 0.4 0.4 0.45 0.3 ..
> 
> -- 
> David
> 
> 
> > I've created new input(list1,list2) and desired output(list3) examples below.  I hope this makes the request a lot clearer.
> >  
> > Not sure if this helpful, but I found this bit of script and it keeps V1,V2,V3 separate and keeps each set of observations as vectors, but it doesn't concatenate the v1 observations with v2 observations together.
> >  
> > sample.list <- list(list1,list2)
> > library(data.table) 
> > nr <- nrow(sample.list[[1]])
> > fastbind.ith.rows <- function(i) rbindlist(lapply(sample.list, "[", i, TRUE))
> > fastbound <- lapply(1:nr, fastbind.ith.rows)
> >  
> > Link:
> > http://stackoverflow.com/questions/4863341/fast-vectorized-merge-of-list-of-data-frames-by-row
> >  
> > Thank you again!
> > Vince
> >  
> > Please find below the structure for list1, list2, and the desired output list3:
> >  
> > list1<-structure(list(
> > V1 = list(c(15L, 19L, 28L, 9L, 17L, 3L, 11L, 21L,7L, 8L, 11L, 13L), 
> >  c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), 
> >  c(NaN,NaN, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), 
> >  c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> >  structure(c(7L, 11L, 21L, 29L, 9L, 23L, 3L, 14L, 27L, 28L, 3L, 5L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", "ID25", "ID26", 
> > "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(7L, 11L, 21L, 29L, 9L, 23L, 3L, 14L, 27L, 28L, 3L, 5L), .Label = c("Issuer1", "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", 
> > "Issuer22", "Issuer23", "Issuer24", "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"), 
> > class = "factor"), c(99.5, 95.5, 99.5, 100, 98.5, 99.646, 99.833, 98, 99.75, 100, 99.833, 98.563), c(0.4, 0.55, 0.4, 0.4, 0.5, 0.45, 0.4, 0.45, 0.6, 0.4, 0.4, 0.4)), 
> > V2 = list(c(10L, 29L, 5L, 19L, 28L, 3L, 10L, 12L, 1L, 21L, 23L, 25L), 
> > c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), 
> > c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), 
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> > structure(c(2L, 22L, 25L, 11L, 21L, 23L, 2L, 4L, 1L, 14L, 16L, 18L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", 
> > "ID25", "ID26", "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(2L, 22L, 25L, 11L, 21L, 23L, 2L, 4L, 1L, 14L, 16L, 18L), .Label = c("Issuer1", 
> > "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", "Issuer22", "Issuer23", 
> > "Issuer24", "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"), class = "factor")
> > , c(98.5, 100.25, 99, 95.5, 99.5, 99.646, 98.5, 94.75, 98.75, 98, 99, 99.388), c(0.6, 0.4, 0.45, 0.55, 0.4, 0.45, 0.6, 0.55, 0.5, 0.45, 0.55, 0.4)), 
> > V3 = list(c(21L, 28L, 3L, 7L, 25L, 25L, 15L, 13L, 3L, 20L, 16L, 18L), 
> > c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), 
> > c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), 
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> > structure(c(14L, 21L, 23L, 27L, 18L, 18L, 7L, 5L, 23L, 13L, 8L, 10L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", 
> > "ID25", "ID26", "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(14L, 21L, 23L, 27L, 18L, 18L, 7L, 5L, 23L, 13L, 8L, 10L), .Label = c("Issuer1", 
> > "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", "Issuer22", "Issuer23", "Issuer24", "Issuer25", "Issuer26", 
> > "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"), class = "factor"), 
> > c(98, 99.5, 99.646, 99.75, 99.388, 99.388, 99.5, 98.563, 99.646, 98, 99.563, 100.375), c(0.45, 0.4, 0.45, 0.6, 0.4, 0.4, 0.4, 0.4, 0.45, 0.3, 0.45, 0.5))), .Names = c("V1", 
> > "V2", "V3"), row.names = c("id", "WgtBand", "Wgt", "Held", "LoanXID", "Issuer", "Bid", "Offer"), class = c("data.table", "data.frame"))
> > list2<-structure(list(V1 = list(
> > c(15L, 8L, 2L, 21L, 8L, 2L, 23L, 25L, 20L, 4L), 
> > c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9), 
> > c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA), 
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> > structure(c(7L, 28L, 12L, 14L, 28L, 12L, 16L, 18L, 13L, 24L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", 
> > "ID25", "ID26", "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(7L, 28L, 12L, 14L, 28L, 12L, 16L, 18L, 13L, 24L), .Label = c("Issuer1", 
> > "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", "Issuer22", "Issuer23", "Issuer24", "Issuer25", "Issuer26", 
> > "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"), class = "factor"), c(99.5, 100, 96.969, 98, 100, 96.969, 99, 99.388, 98, 94), 
> > c(0.4, 0.4, 0.45, 0.45, 0.4, 0.45, 0.55, 0.4, 0.3, 0.45)), 
> > V2 = list(c(27L, 14L, 11L, 25L, 17L, 15L, 10L, 23L, 16L, 2L), 
> > c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9), 
> > c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA), 
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> > structure(c(20L, 6L, 3L, 18L, 9L, 7L, 2L, 16L, 8L, 12L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", "ID25", "ID26", 
> > "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(20L, 6L, 3L, 18L, 9L, 7L, 2L, 16L, 8L, 12L), .Label = c("Issuer1", 
> > "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", "Issuer22", "Issuer23", 
> > "Issuer24", "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"), class = "factor"), 
> > c(100.296, 88.5, 99.833, 99.388, 98.5, 99.5, 98.5, 99, 99.563, 96.969), c(0.4, 0.4, 0.4, 0.4, 0.5, 0.4, 0.6, 0.55, 0.45, 0.45)), 
> > V3 = list(c(13L, 26L, 5L, 17L, 5L, 28L, 2L, 16L, 1L, 19L), 
> > c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9), 
> > c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA), 
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> > structure(c(5L, 19L, 25L, 9L, 25L, 21L, 12L, 8L, 1L, 11L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", 
> > "ID24", "ID25", "ID26", "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(5L, 19L, 25L, 9L, 25L, 21L, 12L, 8L, 1L, 
> > 11L), .Label = c("Issuer1", "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", 
> > "Issuer22", "Issuer23", "Issuer24", "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"
> > ), class = "factor"), c(98.563, 99.229, 99, 98.5, 99, 99.5, 96.969, 99.563, 98.75, 95.5), c(0.4, 0.55, 0.45, 0.5, 0.45, 0.4, 0.45, 0.45, 0.5, 0.55))), .Names = c("V1", 
> > "V2", "V3"), row.names = c("id", "WgtBand", "Wgt", "Held", "LoanXID", "Issuer", "Bid", "Offer"), class = c("data.table", "data.frame"))
> > list3<-structure(list(
> > V1 = list(c(15L, 19L, 28L, 9L, 17L, 3L, 11L, 21L,7L, 8L, 11L, 13L,15L, 8L, 2L, 21L, 8L, 2L, 23L, 25L, 20L, 4L), 
> >  c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,1, 1, 2, 3, 4, 5, 6, 7, 8, 9), 
> >  c(NaN,NaN, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA), 
> >  c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> >  structure(c(7L, 11L, 21L, 29L, 9L, 23L, 3L, 14L, 27L, 28L, 3L, 5L,7L, 28L, 12L, 14L, 28L, 12L, 16L, 18L, 13L, 24L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", "ID25", "ID26", 
> > "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(7L, 11L, 21L, 29L, 9L, 23L, 3L, 14L, 27L, 28L, 3L, 5L,7L, 28L, 12L, 14L, 28L, 12L, 16L, 18L, 13L, 24L), .Label = c("Issuer1", "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", 
> > "Issuer22", "Issuer23", "Issuer24", "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"), 
> > class = "factor"), c(99.5, 95.5, 99.5, 100, 98.5, 99.646, 99.833, 98, 99.75, 100, 99.833, 98.563,99.5, 100, 96.969, 98, 100, 96.969, 99, 99.388, 98, 94), c(0.4, 0.55, 0.4, 0.4, 0.5, 0.45, 0.4, 0.45, 0.6, 0.4, 0.4, 0.4,0.4, 0.4, 0.45, 0.45, 0.4, 0.45, 0.55, 0.4, 0.3, 0.45)), 
> > V2 = list(c(10L, 29L, 5L, 19L, 28L, 3L, 10L, 12L, 1L, 21L, 23L, 25L,27L, 14L, 11L, 25L, 17L, 15L, 10L, 23L, 16L, 2L), 
> > c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,1, 1, 2, 3, 4, 5, 6, 7, 8, 9), 
> > c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA), 
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> > structure(c(2L, 22L, 25L, 11L, 21L, 23L, 2L, 4L, 1L, 14L, 16L, 18L,20L, 6L, 3L, 18L, 9L, 7L, 2L, 16L, 8L, 12L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", 
> > "ID25", "ID26", "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(2L, 22L, 25L, 11L, 21L, 23L, 2L, 4L, 1L, 14L, 16L, 18L,20L, 6L, 3L, 18L, 9L, 7L, 2L, 16L, 8L, 12L), .Label = c("Issuer1", 
> > "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", "Issuer22", "Issuer23", 
> > "Issuer24", "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"), class = "factor")
> > , c(98.5, 100.25, 99, 95.5, 99.5, 99.646, 98.5, 94.75, 98.75, 98, 99, 99.388,100.296, 88.5, 99.833, 99.388, 98.5, 99.5, 98.5, 99, 99.563, 96.969), c(0.6, 0.4, 0.45, 0.55, 0.4, 0.45, 0.6, 0.55, 0.5, 0.45, 0.55, 0.4,0.4, 0.4, 0.4, 0.4, 0.5, 0.4, 0.6, 0.55, 0.45, 0.45)), 
> > V3 = list(c(21L, 28L, 3L, 7L, 25L, 25L, 15L, 13L, 3L, 20L, 16L, 18L,13L, 26L, 5L, 17L, 5L, 28L, 2L, 16L, 1L, 19L), 
> > c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,1, 1, 2, 3, 4, 5, 6, 7, 8, 9), 
> > c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA), 
> > c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> > structure(c(14L, 21L, 23L, 27L, 18L, 18L, 7L, 5L, 23L, 13L, 8L, 10L,5L, 19L, 25L, 9L, 25L, 21L, 12L, 8L, 1L, 11L), .Label = c("ID1", "ID10", "ID11", "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", 
> > "ID25", "ID26", "ID27", "ID28", "ID29", "ID3", "ID4", "ID5", "ID6", "ID7", "ID8", "ID9"), class = "factor"), structure(c(14L, 21L, 23L, 27L, 18L, 18L, 7L, 5L, 23L, 13L, 8L, 10L,5L, 19L, 25L, 9L, 25L, 21L, 12L, 8L, 1L, 11L), .Label = c("Issuer1", 
> > "Issuer10", "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", "Issuer22", "Issuer23", "Issuer24", "Issuer25", "Issuer26", 
> > "Issuer27", "Issuer28", "Issuer29", "Issuer3", "Issuer4", "Issuer5", "Issuer6", "Issuer7", "Issuer8", "Issuer9"), class = "factor"), 
> > c(98, 99.5, 99.646, 99.75, 99.388, 99.388, 99.5, 98.563, 99.646, 98, 99.563, 100.375,98.563, 99.229, 99, 98.5, 99, 99.5, 96.969, 99.563, 98.75, 95.5), c(0.45, 0.4, 0.45, 0.6, 0.4, 0.4, 0.4, 0.4, 0.45, 0.3, 0.45, 0.5,0.4, 0.55, 0.45, 0.5, 0.45, 0.4, 0.45, 0.45, 0.5, 0.55))), .Names = c("V1", 
> > "V2", "V3"), row.names = c("id", "WgtBand", "Wgt", "Held", "LoanXID", "Issuer", "Bid", "Offer"), class = c("data.table", "data.frame"))
> >  
> >  
> >  
> > > Subject: Re: [R] binding two lists of lists of dataframes together
> > > From: dwinsemius at comcast.net
> > > Date: Tue, 12 May 2015 16:00:05 -0700
> > > CC: r-help at r-project.org
> > > To: newrnewbie at hotmail.com
> > > 
> > > 
> > > On May 12, 2015, at 3:12 PM, Vin Cheng wrote:
> > > 
> > > > Hi David,
> > > > 
> > > > Would it be possible to modify it a little so that I can keep V1, V2, and V3 intact?
> > > 
> > > 
> > > > 
> > > > I also don't quite know where to put list2 in the solution you provided below? list2 can be an exact copy of list1 for this example.
> > > 
> > > In which case it would be nearly trivial:
> > > 
> > > lapply(dlist, function(x) rbind(x,x) ) 
> > > 
> > > str( lapply(dlist, function(x) rbind(x,x) ) )
> > > List of 3
> > > $ V1:'data.frame':	20 obs. of 48 variables:
> > > ..$ V1 : int [1:20] 19 94 94 15 90 13 66 17 45 69 ...
> > > ..$ V2 : num [1:20] 1 1 2 3 4 5 6 7 8 9 ...
> > > ..$ V3 : num [1:20] NaN NaN NA NA NA NA NA NA NA NA ...
> > > ..$ V4 : num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
> > > snipped.....
> > > 
> > > > 
> > > > list1 has (48 observations of 3 variables(V1, V2,V3)) each observation has 10 values in a vector 
> > > > list2 has (48 observations of 3 variables (V1, V2,V3)) each observation has 10 values in a vector 
> > > 
> > > You basically want a list of the same general structure as list1 where all the elements in list two at the same position and depth have been concatenated?
> > > > 
> > > > Output should ideally have (48 observations of 3 variables (V1, V2,V3)) each observation has 20 values in a vector
> > > > list1 V1 stacks with list2 V1, 
> > > > list1 V2 stacks with list2 V2, 
> > > > list1 V3 stacks with list2 V3
> > > 
> > > You had a bunch of factor variables in list1. Are we assured that the levels of any factor variables in list2 are the same as the corresponding factor variables in list 1?
> > > 
> > > > 
> > > > Boundlist seems to break out the values of each variable(V1,V2,V3) into 10 columns with 1 value in each column.
> > > 
> > > Not the way I use those words after using R for the last 8 years. There were 48 "columns" and 10 positions in each. I think you need to reverse your terminology (columns and rows) since a "column" in a dataframe is a list and the row numbers are the relative positions along vectors.
> > > 
> > > 
> > > > Is it possible to put the values in the 10 columns(20 values in ideal output) into a vector for each of the 48 observation in each variable(V1,V2,V3).
> > > 
> > > Having severe trouble reformulating this in R dataframe terminology.
> > > 
> > > > 
> > > > Sorry for all the back and forth - explaining an exact output over email is difficult.
> > > 
> > > It shouldn't be difficult if you would post data examples with sufficient complexity to represent the problem. I will build a smaller list of dataframe and name it 'smaller'
> > > 
> > > Since I had difficulty with mapply I'm switching to the list version named ?Map found in the ?funprog page:
> > > 
> > > smaller <- lapply(dlist, "[", 1:6)
> > > 
> > > ?Map
> > > str( Map( rbind, smaller, smaller))
> > > 
> > > #------I think this is what you might want----------
> > > List of 3
> > > $ V1:'data.frame':	20 obs. of 6 variables:
> > > ..$ V1: int [1:20] 19 94 94 15 90 13 66 17 45 69 ...
> > > ..$ V2: num [1:20] 1 1 2 3 4 5 6 7 8 9 ...
> > > ..$ V3: num [1:20] NaN NaN NA NA NA NA NA NA NA NA ...
> > > ..$ V4: num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
> > > ..$ V5: Factor w/ 100 levels "ID1","ID10","ID100",..: 12 95 95 8 91 6 64 10 41 67 ...
> > > ..$ V6: Factor w/ 100 levels "Issuer1","Issuer10",..: 12 95 95 8 91 6 64 10 41 67 ...
> > > $ V2:'data.frame':	20 obs. of 6 variables:
> > > ..$ V1: int [1:20] 93 3 85 34 20 89 16 25 83 90 ...
> > > ..$ V2: num [1:20] 1 1 2 3 4 5 6 7 8 9 ...
> > > ..$ V3: num [1:20] NaN NaN NA NA NA NA NA NA NA NA ...
> > > ..$ V4: num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
> > > ..$ V5: Factor w/ 100 levels "ID1","ID10","ID100",..: 94 24 85 29 14 89 9 19 83 91 ...
> > > ..$ V6: Factor w/ 100 levels "Issuer1","Issuer10",..: 94 24 85 29 14 89 9 19 83 91 ...
> > > $ V3:'data.frame':	20 obs. of 6 variables:
> > > ..$ V1: int [1:20] 47 95 26 64 16 55 61 39 23 66 ...
> > > ..$ V2: num [1:20] 1 1 2 3 4 5 6 7 8 9 ...
> > > ..$ V3: num [1:20] NaN NaN NA NA NA NA NA NA NA NA ...
> > > ..$ V4: num [1:20] 0 0 0 0 0 0 0 0 0 0 ...
> > > ..$ V5: Factor w/ 100 levels "ID1","ID10","ID100",..: 43 96 20 62 9 52 59 34 17 64 ...
> > > ..$ V6: Factor w/ 100 levels "Issuer1","Issuer10",..: 43 96 20 62 9 52 59 34 17 64 ...
> > > 
> > > > 
> > > > I really appreciate the help and the effort! 
> > > > 
> > > > Thank you again!
> > > > Vince
> > > > 
> > > > > Subject: Re: [R] binding two lists of lists of dataframes together
> > > > > From: dwinsemius at comcast.net
> > > > > Date: Tue, 12 May 2015 14:23:54 -0700
> > > > > CC: r-help at r-project.org
> > > > > To: newrnewbie at hotmail.com
> > > > > 
> > > > > 
> > > > > On May 12, 2015, at 12:56 PM, Vin Cheng wrote:
> > > > > 
> > > > > > Hi,
> > > > > > 
> > > > > > Thanks David! Your solution 3 worked well with the sample data, but when I run solution 2 & 3 on the actual data - it creates a list of 1 for each data point and it doesn't end up looking like the desired output for some reason.
> > > > > > 
> > > > > > I've run a dput on the actual data and pasted below. There's a lot of data - so I'm only copying list1 - if the solution could bind list1 with itself - it should work just as well. 
> > > > > > 
> > > > > > Sorry for not providing an accurate sample the first time around - I thought the shortened version would be simpler and sufficient.
> > > > > > 
> > > > > > Any help/guidance would be greatly appreciated!
> > > > > > 
> > > > > 
> > > > > This appears to be three similarly structured lists of various classes but fortunately for this effort the factor variables in corresponding columns all have the same levels. (Otherwise one would need to convert to character before attempting to stack them.)
> > > > > 
> > > > > I would just use `rbind.data.frame` (after making them dataframes with the same column names.)
> > > > > 
> > > > > 
> > > > > dlist <- lapply( list1, function(d) setNames( data.frame(d), paste0("V", 1:48) ))
> > > > > boundlist <- do.call(rbind, dlist)
> > > > > 
> > > > > # Done.
> > > > > 
> > > > > -- 
> > > > > David.
> > > > > > Many Thanks,
> > > > > > Vince
> > > > > > 
> > > > > > list1 <- structure(list(V1 = list(c(19L, 94L, 94L, 15L, 90L, 13L, 66L, 
> > > > > > 17L, 45L, 69L), c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9), c(NaN, NaN, 
> > > > > > NA, NA, NA, NA, NA, NA, NA, NA), c(0, 0, 0, 0, 0, 0, 0, 0, 0, 
> > > > > > 0), structure(c(12L, 95L, 95L, 8L, 91L, 6L, 64L, 10L, 41L, 67L
> > > > > > ), .Label = c("ID1", "ID10", "ID100", "ID11", "ID12", "ID13", 
> > > > > > "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", "ID2", "ID20", 
> > > > > > "ID21", "ID22", "ID23", "ID24", "ID25", "ID26", "ID27", "ID28", 
> > > > > > "ID29", "ID3", "ID30", "ID31", "ID32", "ID33", "ID34", "ID35", 
> > > > > > "ID36", "ID37", "ID38", "ID39", "ID4", "ID40", "ID41", "ID42", 
> > > > > > "ID43", "ID44", "ID45", "ID46", "ID47", "ID48", "ID49", "ID5", 
> > > > > > "ID50", "ID51", "ID52", "ID53", "ID54", "ID55", "ID56", "ID57", 
> > > > > > "ID58", "ID59", "ID6", "ID60", "ID61", "ID62", "ID63", "ID64", 
> > > > > > "ID65", "ID66", "ID67", "ID68", "ID69", "ID7", "ID70", "ID71", 
> > > > > > "ID72", "ID73", "ID74", "ID75", "ID76", "ID77", "ID78", "ID79", 
> > > > > > "ID8", "ID80", "ID81", "ID82", "ID83", "ID84", "ID85", "ID86", 
> > > > > > "ID87", "ID88", "ID89", "ID9", "ID90", "ID91", "ID92", "ID93", 
> > > > > > "ID94", "ID95", "ID96", "ID97", "ID98", "ID99"), class = "factor"), 
> > > > > > structure(c(12L, 95L, 95L, 8L, 91L, 6L, 64L, 10L, 41L, 67L
> > > > > > ), .Label = c("Issuer1", "Issuer10", "Issuer100", "Issuer11", 
> > > > > > "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", 
> > > > > > "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", 
> > > > > > "Issuer21", "Issuer22", "Issuer23", "Issuer24", "Issuer25", 
> > > > > > "Issuer26", "Issuer27", "Issuer28", "Issuer29", "Issuer3", 
> > > > > > "Issuer30", "Issuer31", "Issuer32", "Issuer33", "Issuer34", 
> > > > > > "Issuer35", "Issuer36", "Issuer37", "Issuer38", "Issuer39", 
> > > > > > "Issuer4", "Issuer40", "Issuer41", "Issuer42", "Issuer43", 
> > > > > > "Issuer44", "Issuer45", "Issuer46", "Issuer47", "Issuer48", 
> > > > > > "Issuer49", "Issuer5", "Issuer50", "Issuer51", "Issuer52", 
> > > > > > "Issuer53", "Issuer54", "Issuer55", "Issuer56", "Issuer57", 
> > > > > > "Issuer58", "Issuer59", "Issuer6", "Issuer60", "Issuer61", 
> > > > > > "Issuer62", "Issuer63", "Issuer64", "Issuer65", "Issuer66", 
> > > > > > "Issuer67", "Issuer68", "Issuer69", "Issuer7", "Issuer70", 
> > > > > > "Issuer71", "Issuer72", "Issuer73", "Issuer74", "Issuer75", 
> > > > > > "Issuer76", "Issuer77", "Issuer78", "Issuer79", "Issuer8", 
> > > > > > "Issuer80", "Issuer81", "Issuer82", "Issuer83", "Issuer84", 
> > > > > > "Issuer85", "Issuer86", "Issuer87", "Issuer88", "Issuer89", 
> > > > > > "Issuer9", "Issuer90", "Issuer91", "Issuer92", "Issuer93", 
> > > > > > "Issuer94", "Issuer95", "Issuer96", "Issuer97", "Issuer98", 
> > > > > > "Issuer99"), class = "factor"), c(95.5, 98.5, 98.5, 99.5, 
> > > > > > 103.5, 98.563, 99.75, 98.5, 98.75, 99.125), c(97.5, 99.5, 
> > > > > > 99.5, 100.375, 104.5, 99.188, 100.25, 99.5, 99.75, 100.063
> > > > > > ), c(2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 4L), c(4L, 5L, 5L, 
> > > > > > 5L, 5L, 2L, 3L, 5L, 3L, 2L), c(TRUE, FALSE, FALSE, TRUE, 
> > > > > > FALSE, TRUE, TRUE, FALSE, FALSE, TRUE), structure(c(1L, 1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "First", class = "factor"), 
> > > > > > structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "First", class = "factor"), 
> > > > > > structure(c(9L, 2L, 2L, 1L, 2L, 1L, 3L, 3L, 5L, 9L), .Label = c("B", 
> > > > > > "B-", "B+", "BB", "BB-", "BB+", "BBB-", "CCC", "CCC+", "NR"
> > > > > > ), class = "factor"), structure(c(8L, 2L, 2L, 1L, 8L, 2L, 
> > > > > > 2L, 2L, 1L, 7L), .Label = c("B1", "B2", "B3", "Ba1", "Ba2", 
> > > > > > "Ba3", "Caa1", "Caa2", "NR"), class = "factor"), structure(c(20L, 
> > > > > > 88L, 88L, 6L, 3L, 35L, 29L, 24L, 53L, 82L), .Label = c("1/11/2019", 
> > > > > > "1/2/2019", "1/2/2020", "1/30/2022", "10/15/2016", "10/15/2021", 
> > > > > > "10/17/2019", "10/17/2021", "10/19/2019", "10/2/2017", "10/22/2020", 
> > > > > > "10/31/2018", "10/8/2021", "10/9/2018", "10/9/2019", "11/12/2020", 
> > > > > > "11/20/2019", "11/20/2020", "11/27/2020", "11/5/2021", "11/6/2020", 
> > > > > > "11/9/2017", "11/9/2018", "12/15/2018", "12/15/2021", "12/15/2022", 
> > > > > > "12/16/2019", "12/18/2020", "12/20/2019", "12/7/2018", "12/7/2019", 
> > > > > > "2/12/2021", "2/14/2020", "2/20/2021", "2/21/2021", "2/21/2022", 
> > > > > > "2/24/2017", "2/26/2019", "2/6/2019", "3/20/2018", "3/20/2020", 
> > > > > > "3/21/2019", "4/11/2016", "4/11/2020", "4/17/2021", "4/23/2020", 
> > > > > > "4/30/2018", "4/5/2020", "5/11/2018", "5/14/2021", "5/14/2022", 
> > > > > > "5/15/2018", "5/20/2021", "5/22/2021", "5/22/2022", "5/31/2020", 
> > > > > > "5/8/2020", "6/13/2018", "6/17/2021", "6/19/2021", "6/19/2022", 
> > > > > > "6/2/2019", "6/20/2017", "6/27/2019", "6/3/2019", "6/30/2016", 
> > > > > > "6/30/2017", "6/30/2019", "6/5/2020", "6/7/2021", "7/10/2018", 
> > > > > > "7/10/2020", "7/11/2021", "7/11/2022", "7/2/2021", "7/29/2021", 
> > > > > > "7/29/2022", "7/3/2019", "7/9/2020", "7/9/2021", "8/1/2021", 
> > > > > > "8/12/2021", "8/14/2019", "8/15/2021", "8/20/2021", "8/23/2019", 
> > > > > > "8/24/2017", "8/29/2021", "8/3/2018", "8/7/2017", "8/7/2019", 
> > > > > > "9/18/2016", "9/18/2019", "9/20/2019"), class = "factor"), 
> > > > > > c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
> > > > > > FALSE, FALSE), structure(c(12L, 95L, 95L, 8L, 91L, 6L, 64L, 
> > > > > > 10L, 41L, 67L), .Label = c("Issuer1", "Issuer10", "Issuer100", 
> > > > > > "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", 
> > > > > > "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", 
> > > > > > "Issuer20", "Issuer21", "Issuer22", "Issuer23", "Issuer24", 
> > > > > > "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", 
> > > > > > "Issuer3", "Issuer30", "Issuer31", "Issuer32", "Issuer33", 
> > > > > > "Issuer34", "Issuer35", "Issuer36", "Issuer37", "Issuer38", 
> > > > > > "Issuer39", "Issuer4", "Issuer40", "Issuer41", "Issuer42", 
> > > > > > "Issuer43", "Issuer44", "Issuer45", "Issuer46", "Issuer47", 
> > > > > > "Issuer48", "Issuer49", "Issuer5", "Issuer50", "Issuer51", 
> > > > > > "Issuer52", "Issuer53", "Issuer54", "Issuer55", "Issuer56", 
> > > > > > "Issuer57", "Issuer58", "Issuer59", "Issuer6", "Issuer60", 
> > > > > > "Issuer61", "Issuer62", "Issuer63", "Issuer64", "Issuer65", 
> > > > > > "Issuer66", "Issuer67", "Issuer68", "Issuer69", "Issuer7", 
> > > > > > "Issuer70", "Issuer71", "Issuer72", "Issuer73", "Issuer74", 
> > > > > > "Issuer75", "Issuer76", "Issuer77", "Issuer78", "Issuer79", 
> > > > > > "Issuer8", "Issuer80", "Issuer81", "Issuer82", "Issuer83", 
> > > > > > "Issuer84", "Issuer85", "Issuer86", "Issuer87", "Issuer88", 
> > > > > > "Issuer89", "Issuer9", "Issuer90", "Issuer91", "Issuer92", 
> > > > > > "Issuer93", "Issuer94", "Issuer95", "Issuer96", "Issuer97", 
> > > > > > "Issuer98", "Issuer99"), class = "factor"), structure(c(12L, 
> > > > > > 95L, 95L, 8L, 91L, 6L, 64L, 10L, 41L, 67L), .Label = c("BL1", 
> > > > > > "BL10", "BL100", "BL11", "BL12", "BL13", "BL14", "BL15", 
> > > > > > "BL16", "BL17", "BL18", "BL19", "BL2", "BL20", "BL21", "BL22", 
> > > > > > "BL23", "BL24", "BL25", "BL26", "BL27", "BL28", "BL29", "BL3", 
> > > > > > "BL30", "BL31", "BL32", "BL33", "BL34", "BL35", "BL36", "BL37", 
> > > > > > "BL38", "BL39", "BL4", "BL40", "BL41", "BL42", "BL43", "BL44", 
> > > > > > "BL45", "BL46", "BL47", "BL48", "BL49", "BL5", "BL50", "BL51", 
> > > > > > "BL52", "BL53", "BL54", "BL55", "BL56", "BL57", "BL58", "BL59", 
> > > > > > "BL6", "BL60", "BL61", "BL62", "BL63", "BL64", "BL65", "BL66", 
> > > > > > "BL67", "BL68", "BL69", "BL7", "BL70", "BL71", "BL72", "BL73", 
> > > > > > "BL74", "BL75", "BL76", "BL77", "BL78", "BL79", "BL8", "BL80", 
> > > > > > "BL81", "BL82", "BL83", "BL84", "BL85", "BL86", "BL87", "BL88", 
> > > > > > "BL89", "BL9", "BL90", "BL91", "BL92", "BL93", "BL94", "BL95", 
> > > > > > "BL96", "BL97", "BL98", "BL99"), class = "factor"), structure(c(4L, 
> > > > > > 3L, 3L, 5L, 6L, 3L, 2L, 6L, 6L, 5L), .Label = c("Banking, Finance, Insurance & Real Estate", 
> > > > > > "Consumer goods: Non-durable", "Energy: Oil & Gas", "Hotel, Gaming, & Leisure", 
> > > > > > "Retail", "Services: Business"), class = "factor"), structure(c(3L, 
> > > > > > 5L, 5L, 6L, 4L, 3L, 4L, 2L, 6L, 6L), .Label = c("Financial Intermediaries", 
> > > > > > "Health care", "Leisure goods/activities/movies", "Multiline Retail", 
> > > > > > "Oil & gas", "Retailers (except food & drug)"), class = "factor"), 
> > > > > > structure(c(8L, 8L, 8L, 8L, 8L, 8L, 8L, 6L, 8L, 8L), .Label = c("AU", 
> > > > > > "BE", "CA", "DE", "FR", "GB", "LU", "US"), class = "factor"), 
> > > > > > structure(c(6L, 6L, 6L, 6L, 6L, 6L, 6L, 5L, 6L, 6L), .Label = c("1", 
> > > > > > "2", "3", "Tax Jurisdiction", "UK", "US"), class = "factor"), 
> > > > > > structure(c(4L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 4L, 4L), .Label = c("Canada", 
> > > > > > "Europe", "Other", "U.S."), class = "factor"), structure(c(1L, 
> > > > > > 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 1L), .Label = c("N", "Y"), class = "factor"), 
> > > > > > structure(c(2L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L), .Label = c("N", 
> > > > > > "Y"), class = "factor"), structure(c(1L, 1L, 1L, 1L, 1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L), .Label = "FLOATING", class = "factor"), 
> > > > > > c(0.125550168, 1.731733265, 1.731733265, NA, 5.246485518, 
> > > > > > 7.798802147, NA, NA, NA, NA), c(4770L, 3490L, 3490L, 3490L, 
> > > > > > 3490L, 3490L, 2220L, 2220L, 2220L, 3490L), c(0.45, 0.4, 0.4, 
> > > > > > 0.45, 0.55, 0.4, 0.4, 0.45, 0.4, 0.5), c(4770L, 3490L, 3490L, 
> > > > > > 3490L, 3490L, 3490L, 2220L, 2220L, 2220L, 3490L), c(0.55, 
> > > > > > 0.4, 0.4, 0.4, 0.55, 0.4, 0.5, 0.5, 0.45, 0.55), c(18L, 15L, 
> > > > > > 15L, 15L, 18L, 15L, 15L, 15L, 14L, 17L), c(17L, 16L, 16L, 
> > > > > > 15L, 14L, 15L, 15L, 15L, 14L, 15L), c(192500000, 205000000, 
> > > > > > 205000000, 342000000, 120000000, 835000000, 1043700000, 160000000, 
> > > > > > 300000000, 265000000), c(0.02, 0.02, 0.02, 0.4, 0.02, 0.4, 
> > > > > > 0.6, 0.6, 0.6, 0.02), c(850L, 475L, 475L, 500L, 1000L, 350L, 
> > > > > > 400L, 975L, 500L, 700L), c(1, 1.5, 1.5, 1, 1.25, 1, 1, 1, 
> > > > > > 1, 1), c(0.0851, 0.04765, 0.04765, 0.0501, 0.100125, 0.0351, 
> > > > > > 0.0401, 0.0976, 0.0501, 0.0701), c(0.099192999, 0.023321348, 
> > > > > > 0.023321348, 0.06465519, 0.103470278, 0.052237196, 0.051331755, 
> > > > > > 0.112300026, 0.066116739, 0.084107871), c(897.0917677, -1.49365213, 
> > > > > > -1.49365213, 549.0886934, 975.9481504, 429.1863229, 436.2991366, 
> > > > > > 1062.374805, 567.0741295, 747.1023728), c(0.088186528, 0.048131313, 
> > > > > > 0.048131313, 0.050131332, 0.096274038, 0.035499188, 0.040049938, 
> > > > > > 0.098585859, 0.050478589, 0.070385766), c(0L, 0L, 0L, 0L, 
> > > > > > 0L, 0L, 0L, 0L, 0L, 0L), structure(c(1L, 1L, 1L, 1L, 1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L), .Label = "NO", class = "factor"), structure(c(1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "CS", class = "factor"), 
> > > > > > c(0.0178406708595388, 0.0136532951289398, 0.0136532951289398, 
> > > > > > 0.0143553008595989, 0.028689111747851, 0.0100573065902579, 
> > > > > > 0.0180630630630631, 0.043963963963964, 0.0225675675675676, 
> > > > > > 0.0200859598853868), c(0.046805, 0.01906, 0.01906, 0.02004, 
> > > > > > 0.05506875, 0.01404, 0.02005, 0.0488, 0.022545, 0.038555), 
> > > > > > c(0.001702, 0.000953, 0.000953, 0.02004, 0.0020025, 0.01404, 
> > > > > > 0.02406, 0.05856, 0.03006, 0.001402)), V2 = list(c(93L, 3L, 
> > > > > > 85L, 34L, 20L, 89L, 16L, 25L, 83L, 90L), c(1, 1, 2, 3, 4, 5, 
> > > > > > 6, 7, 8, 9), c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA), c(0, 
> > > > > > 0, 0, 0, 0, 0, 0, 0, 0, 0), structure(c(94L, 24L, 85L, 29L, 14L, 
> > > > > > 89L, 9L, 19L, 83L, 91L), .Label = c("ID1", "ID10", "ID100", "ID11", 
> > > > > > "ID12", "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", 
> > > > > > "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", "ID25", "ID26", 
> > > > > > "ID27", "ID28", "ID29", "ID3", "ID30", "ID31", "ID32", "ID33", 
> > > > > > "ID34", "ID35", "ID36", "ID37", "ID38", "ID39", "ID4", "ID40", 
> > > > > > "ID41", "ID42", "ID43", "ID44", "ID45", "ID46", "ID47", "ID48", 
> > > > > > "ID49", "ID5", "ID50", "ID51", "ID52", "ID53", "ID54", "ID55", 
> > > > > > "ID56", "ID57", "ID58", "ID59", "ID6", "ID60", "ID61", "ID62", 
> > > > > > "ID63", "ID64", "ID65", "ID66", "ID67", "ID68", "ID69", "ID7", 
> > > > > > "ID70", "ID71", "ID72", "ID73", "ID74", "ID75", "ID76", "ID77", 
> > > > > > "ID78", "ID79", "ID8", "ID80", "ID81", "ID82", "ID83", "ID84", 
> > > > > > "ID85", "ID86", "ID87", "ID88", "ID89", "ID9", "ID90", "ID91", 
> > > > > > "ID92", "ID93", "ID94", "ID95", "ID96", "ID97", "ID98", "ID99"
> > > > > > ), class = "factor"), structure(c(94L, 24L, 85L, 29L, 14L, 89L, 
> > > > > > 9L, 19L, 83L, 91L), .Label = c("Issuer1", "Issuer10", "Issuer100", 
> > > > > > "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", "Issuer16", 
> > > > > > "Issuer17", "Issuer18", "Issuer19", "Issuer2", "Issuer20", "Issuer21", 
> > > > > > "Issuer22", "Issuer23", "Issuer24", "Issuer25", "Issuer26", "Issuer27", 
> > > > > > "Issuer28", "Issuer29", "Issuer3", "Issuer30", "Issuer31", "Issuer32", 
> > > > > > "Issuer33", "Issuer34", "Issuer35", "Issuer36", "Issuer37", "Issuer38", 
> > > > > > "Issuer39", "Issuer4", "Issuer40", "Issuer41", "Issuer42", "Issuer43", 
> > > > > > "Issuer44", "Issuer45", "Issuer46", "Issuer47", "Issuer48", "Issuer49", 
> > > > > > "Issuer5", "Issuer50", "Issuer51", "Issuer52", "Issuer53", "Issuer54", 
> > > > > > "Issuer55", "Issuer56", "Issuer57", "Issuer58", "Issuer59", "Issuer6", 
> > > > > > "Issuer60", "Issuer61", "Issuer62", "Issuer63", "Issuer64", "Issuer65", 
> > > > > > "Issuer66", "Issuer67", "Issuer68", "Issuer69", "Issuer7", "Issuer70", 
> > > > > > "Issuer71", "Issuer72", "Issuer73", "Issuer74", "Issuer75", "Issuer76", 
> > > > > > "Issuer77", "Issuer78", "Issuer79", "Issuer8", "Issuer80", "Issuer81", 
> > > > > > "Issuer82", "Issuer83", "Issuer84", "Issuer85", "Issuer86", "Issuer87", 
> > > > > > "Issuer88", "Issuer89", "Issuer9", "Issuer90", "Issuer91", "Issuer92", 
> > > > > > "Issuer93", "Issuer94", "Issuer95", "Issuer96", "Issuer97", "Issuer98", 
> > > > > > "Issuer99"), class = "factor"), c(99.5, 99.646, 100.402, 100.25, 
> > > > > > 98, 99.563, 99.563, 99.388, 99.531, 103.5), c(100.5, 100.271, 
> > > > > > 100.903, 100.75, 99, 100.188, 100.063, 99.788, 100.125, 104.5
> > > > > > ), c(1L, 6L, 9L, 1L, 1L, 2L, 2L, 10L, 4L, 2L), c(5L, 2L, 1L, 
> > > > > > 3L, 3L, 4L, 4L, 1L, 1L, 5L), c(TRUE, TRUE, FALSE, FALSE, TRUE, 
> > > > > > FALSE, FALSE, TRUE, TRUE, FALSE), structure(c(1L, 1L, 1L, 1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L, 1L), .Label = "First", class = "factor"), 
> > > > > > structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "First", class = "factor"), 
> > > > > > structure(c(8L, 1L, 4L, 1L, 3L, 4L, 6L, 1L, 5L, 2L), .Label = c("B", 
> > > > > > "B-", "B+", "BB", "BB-", "BB+", "BBB-", "CCC", "CCC+", "NR"
> > > > > > ), class = "factor"), structure(c(7L, 2L, 5L, 2L, 1L, 2L, 
> > > > > > 6L, 1L, 5L, 8L), .Label = c("B1", "B2", "B3", "Ba1", "Ba2", 
> > > > > > "Ba3", "Caa1", "Caa2", "NR"), class = "factor"), structure(c(41L, 
> > > > > > 1L, 13L, 43L, 21L, 87L, 49L, 73L, 46L, 3L), .Label = c("1/11/2019", 
> > > > > > "1/2/2019", "1/2/2020", "1/30/2022", "10/15/2016", "10/15/2021", 
> > > > > > "10/17/2019", "10/17/2021", "10/19/2019", "10/2/2017", "10/22/2020", 
> > > > > > "10/31/2018", "10/8/2021", "10/9/2018", "10/9/2019", "11/12/2020", 
> > > > > > "11/20/2019", "11/20/2020", "11/27/2020", "11/5/2021", "11/6/2020", 
> > > > > > "11/9/2017", "11/9/2018", "12/15/2018", "12/15/2021", "12/15/2022", 
> > > > > > "12/16/2019", "12/18/2020", "12/20/2019", "12/7/2018", "12/7/2019", 
> > > > > > "2/12/2021", "2/14/2020", "2/20/2021", "2/21/2021", "2/21/2022", 
> > > > > > "2/24/2017", "2/26/2019", "2/6/2019", "3/20/2018", "3/20/2020", 
> > > > > > "3/21/2019", "4/11/2016", "4/11/2020", "4/17/2021", "4/23/2020", 
> > > > > > "4/30/2018", "4/5/2020", "5/11/2018", "5/14/2021", "5/14/2022", 
> > > > > > "5/15/2018", "5/20/2021", "5/22/2021", "5/22/2022", "5/31/2020", 
> > > > > > "5/8/2020", "6/13/2018", "6/17/2021", "6/19/2021", "6/19/2022", 
> > > > > > "6/2/2019", "6/20/2017", "6/27/2019", "6/3/2019", "6/30/2016", 
> > > > > > "6/30/2017", "6/30/2019", "6/5/2020", "6/7/2021", "7/10/2018", 
> > > > > > "7/10/2020", "7/11/2021", "7/11/2022", "7/2/2021", "7/29/2021", 
> > > > > > "7/29/2022", "7/3/2019", "7/9/2020", "7/9/2021", "8/1/2021", 
> > > > > > "8/12/2021", "8/14/2019", "8/15/2021", "8/20/2021", "8/23/2019", 
> > > > > > "8/24/2017", "8/29/2021", "8/3/2018", "8/7/2017", "8/7/2019", 
> > > > > > "9/18/2016", "9/18/2019", "9/20/2019"), class = "factor"), 
> > > > > > c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
> > > > > > FALSE, FALSE), structure(c(94L, 24L, 85L, 29L, 14L, 89L, 
> > > > > > 9L, 19L, 83L, 91L), .Label = c("Issuer1", "Issuer10", "Issuer100", 
> > > > > > "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", 
> > > > > > "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", 
> > > > > > "Issuer20", "Issuer21", "Issuer22", "Issuer23", "Issuer24", 
> > > > > > "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", 
> > > > > > "Issuer3", "Issuer30", "Issuer31", "Issuer32", "Issuer33", 
> > > > > > "Issuer34", "Issuer35", "Issuer36", "Issuer37", "Issuer38", 
> > > > > > "Issuer39", "Issuer4", "Issuer40", "Issuer41", "Issuer42", 
> > > > > > "Issuer43", "Issuer44", "Issuer45", "Issuer46", "Issuer47", 
> > > > > > "Issuer48", "Issuer49", "Issuer5", "Issuer50", "Issuer51", 
> > > > > > "Issuer52", "Issuer53", "Issuer54", "Issuer55", "Issuer56", 
> > > > > > "Issuer57", "Issuer58", "Issuer59", "Issuer6", "Issuer60", 
> > > > > > "Issuer61", "Issuer62", "Issuer63", "Issuer64", "Issuer65", 
> > > > > > "Issuer66", "Issuer67", "Issuer68", "Issuer69", "Issuer7", 
> > > > > > "Issuer70", "Issuer71", "Issuer72", "Issuer73", "Issuer74", 
> > > > > > "Issuer75", "Issuer76", "Issuer77", "Issuer78", "Issuer79", 
> > > > > > "Issuer8", "Issuer80", "Issuer81", "Issuer82", "Issuer83", 
> > > > > > "Issuer84", "Issuer85", "Issuer86", "Issuer87", "Issuer88", 
> > > > > > "Issuer89", "Issuer9", "Issuer90", "Issuer91", "Issuer92", 
> > > > > > "Issuer93", "Issuer94", "Issuer95", "Issuer96", "Issuer97", 
> > > > > > "Issuer98", "Issuer99"), class = "factor"), structure(c(94L, 
> > > > > > 24L, 85L, 29L, 14L, 89L, 9L, 19L, 83L, 91L), .Label = c("BL1", 
> > > > > > "BL10", "BL100", "BL11", "BL12", "BL13", "BL14", "BL15", 
> > > > > > "BL16", "BL17", "BL18", "BL19", "BL2", "BL20", "BL21", "BL22", 
> > > > > > "BL23", "BL24", "BL25", "BL26", "BL27", "BL28", "BL29", "BL3", 
> > > > > > "BL30", "BL31", "BL32", "BL33", "BL34", "BL35", "BL36", "BL37", 
> > > > > > "BL38", "BL39", "BL4", "BL40", "BL41", "BL42", "BL43", "BL44", 
> > > > > > "BL45", "BL46", "BL47", "BL48", "BL49", "BL5", "BL50", "BL51", 
> > > > > > "BL52", "BL53", "BL54", "BL55", "BL56", "BL57", "BL58", "BL59", 
> > > > > > "BL6", "BL60", "BL61", "BL62", "BL63", "BL64", "BL65", "BL66", 
> > > > > > "BL67", "BL68", "BL69", "BL7", "BL70", "BL71", "BL72", "BL73", 
> > > > > > "BL74", "BL75", "BL76", "BL77", "BL78", "BL79", "BL8", "BL80", 
> > > > > > "BL81", "BL82", "BL83", "BL84", "BL85", "BL86", "BL87", "BL88", 
> > > > > > "BL89", "BL9", "BL90", "BL91", "BL92", "BL93", "BL94", "BL95", 
> > > > > > "BL96", "BL97", "BL98", "BL99"), class = "factor"), structure(c(2L, 
> > > > > > 2L, 3L, 6L, 1L, 6L, 6L, 6L, 1L, 6L), .Label = c("Banking, Finance, Insurance & Real Estate", 
> > > > > > "Consumer goods: Non-durable", "Energy: Oil & Gas", "Hotel, Gaming, & Leisure", 
> > > > > > "Retail", "Services: Business"), class = "factor"), structure(c(6L, 
> > > > > > 6L, 3L, 5L, 1L, 2L, 5L, 3L, 2L, 4L), .Label = c("Financial Intermediaries", 
> > > > > > "Health care", "Leisure goods/activities/movies", "Multiline Retail", 
> > > > > > "Oil & gas", "Retailers (except food & drug)"), class = "factor"), 
> > > > > > structure(c(8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L), .Label = c("AU", 
> > > > > > "BE", "CA", "DE", "FR", "GB", "LU", "US"), class = "factor"), 
> > > > > > structure(c(6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L), .Label = c("1", 
> > > > > > "2", "3", "Tax Jurisdiction", "UK", "US"), class = "factor"), 
> > > > > > structure(c(4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("Canada", 
> > > > > > "Europe", "Other", "U.S."), class = "factor"), structure(c(1L, 
> > > > > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L), .Label = c("N", "Y"), class = "factor"), 
> > > > > > structure(c(2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L), .Label = c("N", 
> > > > > > "Y"), class = "factor"), structure(c(1L, 1L, 1L, 1L, 1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L), .Label = "FLOATING", class = "factor"), 
> > > > > > c(2.603554841, 7.27032758, 3.155438813, 5.037267081, 0.125550168, 
> > > > > > NA, 3.464301168, NA, 4.816376964, 5.246485518), c(2220L, 
> > > > > > 2220L, 940L, 3490L, 4770L, 2220L, 1766L, 3490L, 2220L, 3490L
> > > > > > ), c(0.55, 0.45, 0.5, 0.4, 0.6, 0.45, 0.45, 0.55, 0.2, 0.55
> > > > > > ), c(2220L, 2220L, 940L, 3490L, 4770L, 2220L, 1766L, 3490L, 
> > > > > > 2220L, 3490L), c(0.55, 0.45, 0.5, 0.4, 0.3, 0.45, 0.45, 0.4, 
> > > > > > 0.2, 0.55), c(17L, 15L, 12L, 15L, 14L, 15L, 13L, 14L, 12L, 
> > > > > > 18L), c(16L, 16L, 14L, 16L, 15L, 12L, 13L, 15L, 14L, 14L), 
> > > > > > c(200000000, 613811406, 750000000, 200000000, 405500000, 
> > > > > > 450000000, 530000000, 2010000000, 775000000, 120000000), 
> > > > > > c(0.02, 0.5, 0.65, 0.27, 0.5, 0.65, 0.65, 0.3, 0.65, 0.02
> > > > > > ), c(950L, 350L, 350L, 275L, 450L, 275L, 225L, 325L, 275L, 
> > > > > > 1000L), c(1.25, 1, 0.75, 0.75, 1, 0.75, 0, 1, 0.75, 1.25), 
> > > > > > c(0.095125, 0.0351, 0.035075, 0.027575, 0.0451, 0.027575, 
> > > > > > 0.02527, 0.0326, 0.027575, 0.100125), c(0.104211455, 0.046414939, 
> > > > > > 0.050338657, 0.027233401, 0.059885473, 0.03459045, 0.028669191, 
> > > > > > 0.048294163, 0.040935438, 0.103470278), c(980.5501911, 400.3544693, 
> > > > > > 385.8629241, 244.6340073, 511.2711809, 294.3073789, 194.2034583, 
> > > > > > 385.9437059, 308.4324006, 975.9481504), c(0.095125, 0.035114573, 
> > > > > > 0.034847619, 0.027437811, 0.045786802, 0.027609374, 0.025317343, 
> > > > > > 0.032734868, 0.027622511, 0.096274038), c(0L, 0L, 0L, 0L, 
> > > > > > 0L, 0L, 0L, 0L, 0L, 0L), structure(c(1L, 1L, 1L, 1L, 1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L), .Label = "NO", class = "factor"), structure(c(1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "CS", class = "factor"), 
> > > > > > c(0.0428490990990991, 0.0158108108108108, 0.037313829787234, 
> > > > > > 0.00790114613180516, 0.00945492662473794, 0.0124211711711712, 
> > > > > > 0.0143091732729332, 0.00934097421203438, 0.0124211711711712, 
> > > > > > 0.028689111747851), c(0.05231875, 0.015795, 0.0175375, 0.01103, 
> > > > > > 0.01353, 0.01240875, 0.0113715, 0.01304, 0.005515, 0.05506875
> > > > > > ), c(0.0019025, 0.01755, 0.02279875, 0.00744525, 0.02255, 
> > > > > > 0.01792375, 0.0164255, 0.00978, 0.01792375, 0.0020025)), 
> > > > > > V3 = list(c(47L, 95L, 26L, 64L, 16L, 55L, 61L, 39L, 23L, 
> > > > > > 66L), c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9), c(NaN, NaN, NA, NA, 
> > > > > > NA, NA, NA, NA, NA, NA), c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
> > > > > > structure(c(43L, 96L, 20L, 62L, 9L, 52L, 59L, 34L, 17L, 
> > > > > > 64L), .Label = c("ID1", "ID10", "ID100", "ID11", "ID12", 
> > > > > > "ID13", "ID14", "ID15", "ID16", "ID17", "ID18", "ID19", 
> > > > > > "ID2", "ID20", "ID21", "ID22", "ID23", "ID24", "ID25", 
> > > > > > "ID26", "ID27", "ID28", "ID29", "ID3", "ID30", "ID31", 
> > > > > > "ID32", "ID33", "ID34", "ID35", "ID36", "ID37", "ID38", 
> > > > > > "ID39", "ID4", "ID40", "ID41", "ID42", "ID43", "ID44", 
> > > > > > "ID45", "ID46", "ID47", "ID48", "ID49", "ID5", "ID50", 
> > > > > > "ID51", "ID52", "ID53", "ID54", "ID55", "ID56", "ID57", 
> > > > > > "ID58", "ID59", "ID6", "ID60", "ID61", "ID62", "ID63", 
> > > > > > "ID64", "ID65", "ID66", "ID67", "ID68", "ID69", "ID7", 
> > > > > > "ID70", "ID71", "ID72", "ID73", "ID74", "ID75", "ID76", 
> > > > > > "ID77", "ID78", "ID79", "ID8", "ID80", "ID81", "ID82", 
> > > > > > "ID83", "ID84", "ID85", "ID86", "ID87", "ID88", "ID89", 
> > > > > > "ID9", "ID90", "ID91", "ID92", "ID93", "ID94", "ID95", 
> > > > > > "ID96", "ID97", "ID98", "ID99"), class = "factor"), structure(c(43L, 
> > > > > > 96L, 20L, 62L, 9L, 52L, 59L, 34L, 17L, 64L), .Label = c("Issuer1", 
> > > > > > "Issuer10", "Issuer100", "Issuer11", "Issuer12", "Issuer13", 
> > > > > > "Issuer14", "Issuer15", "Issuer16", "Issuer17", "Issuer18", 
> > > > > > "Issuer19", "Issuer2", "Issuer20", "Issuer21", "Issuer22", 
> > > > > > "Issuer23", "Issuer24", "Issuer25", "Issuer26", "Issuer27", 
> > > > > > "Issuer28", "Issuer29", "Issuer3", "Issuer30", "Issuer31", 
> > > > > > "Issuer32", "Issuer33", "Issuer34", "Issuer35", "Issuer36", 
> > > > > > "Issuer37", "Issuer38", "Issuer39", "Issuer4", "Issuer40", 
> > > > > > "Issuer41", "Issuer42", "Issuer43", "Issuer44", "Issuer45", 
> > > > > > "Issuer46", "Issuer47", "Issuer48", "Issuer49", "Issuer5", 
> > > > > > "Issuer50", "Issuer51", "Issuer52", "Issuer53", "Issuer54", 
> > > > > > "Issuer55", "Issuer56", "Issuer57", "Issuer58", "Issuer59", 
> > > > > > "Issuer6", "Issuer60", "Issuer61", "Issuer62", "Issuer63", 
> > > > > > "Issuer64", "Issuer65", "Issuer66", "Issuer67", "Issuer68", 
> > > > > > "Issuer69", "Issuer7", "Issuer70", "Issuer71", "Issuer72", 
> > > > > > "Issuer73", "Issuer74", "Issuer75", "Issuer76", "Issuer77", 
> > > > > > "Issuer78", "Issuer79", "Issuer8", "Issuer80", "Issuer81", 
> > > > > > "Issuer82", "Issuer83", "Issuer84", "Issuer85", "Issuer86", 
> > > > > > "Issuer87", "Issuer88", "Issuer89", "Issuer9", "Issuer90", 
> > > > > > "Issuer91", "Issuer92", "Issuer93", "Issuer94", "Issuer95", 
> > > > > > "Issuer96", "Issuer97", "Issuer98", "Issuer99"), class = "factor"), 
> > > > > > c(99.688, 75.667, 99.229, 99.583, 99.563, 99.188, 98.8, 
> > > > > > 98.5, 99, 99.75), c(100.281, 78.667, 100.104, 100.333, 
> > > > > > 100.063, 99.906, 99.75, 99.5, 99.75, 100.25), c(4L, 3L, 
> > > > > > 6L, 3L, 2L, 4L, 5L, 1L, 1L, 1L), c(4L, 3L, 1L, 3L, 4L, 
> > > > > > 2L, 4L, 5L, 3L, 3L), c(FALSE, TRUE, TRUE, TRUE, FALSE, 
> > > > > > TRUE, TRUE, FALSE, TRUE, TRUE), structure(c(1L, 1L, 1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "First", class = "factor"), 
> > > > > > structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "First", class = "factor"), 
> > > > > > structure(c(3L, 8L, 9L, 1L, 6L, 3L, 10L, 10L, 9L, 3L), .Label = c("B", 
> > > > > > "B-", "B+", "BB", "BB-", "BB+", "BBB-", "CCC", "CCC+", 
> > > > > > "NR"), class = "factor"), structure(c(6L, 7L, 7L, 2L, 
> > > > > > 6L, 1L, 9L, 9L, 8L, 2L), .Label = c("B1", "B2", "B3", 
> > > > > > "Ba1", "Ba2", "Ba3", "Caa1", "Caa2", "NR"), class = "factor"), 
> > > > > > structure(c(66L, 80L, 74L, 30L, 49L, 72L, 70L, 62L, 10L, 
> > > > > > 29L), .Label = c("1/11/2019", "1/2/2019", "1/2/2020", 
> > > > > > "1/30/2022", "10/15/2016", "10/15/2021", "10/17/2019", 
> > > > > > "10/17/2021", "10/19/2019", "10/2/2017", "10/22/2020", 
> > > > > > "10/31/2018", "10/8/2021", "10/9/2018", "10/9/2019", 
> > > > > > "11/12/2020", "11/20/2019", "11/20/2020", "11/27/2020", 
> > > > > > "11/5/2021", "11/6/2020", "11/9/2017", "11/9/2018", "12/15/2018", 
> > > > > > "12/15/2021", "12/15/2022", "12/16/2019", "12/18/2020", 
> > > > > > "12/20/2019", "12/7/2018", "12/7/2019", "2/12/2021", 
> > > > > > "2/14/2020", "2/20/2021", "2/21/2021", "2/21/2022", "2/24/2017", 
> > > > > > "2/26/2019", "2/6/2019", "3/20/2018", "3/20/2020", "3/21/2019", 
> > > > > > "4/11/2016", "4/11/2020", "4/17/2021", "4/23/2020", "4/30/2018", 
> > > > > > "4/5/2020", "5/11/2018", "5/14/2021", "5/14/2022", "5/15/2018", 
> > > > > > "5/20/2021", "5/22/2021", "5/22/2022", "5/31/2020", "5/8/2020", 
> > > > > > "6/13/2018", "6/17/2021", "6/19/2021", "6/19/2022", "6/2/2019", 
> > > > > > "6/20/2017", "6/27/2019", "6/3/2019", "6/30/2016", "6/30/2017", 
> > > > > > "6/30/2019", "6/5/2020", "6/7/2021", "7/10/2018", "7/10/2020", 
> > > > > > "7/11/2021", "7/11/2022", "7/2/2021", "7/29/2021", "7/29/2022", 
> > > > > > "7/3/2019", "7/9/2020", "7/9/2021", "8/1/2021", "8/12/2021", 
> > > > > > "8/14/2019", "8/15/2021", "8/20/2021", "8/23/2019", "8/24/2017", 
> > > > > > "8/29/2021", "8/3/2018", "8/7/2017", "8/7/2019", "9/18/2016", 
> > > > > > "9/18/2019", "9/20/2019"), class = "factor"), c(FALSE, 
> > > > > > FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
> > > > > > FALSE), structure(c(43L, 96L, 20L, 62L, 9L, 52L, 59L, 
> > > > > > 34L, 17L, 64L), .Label = c("Issuer1", "Issuer10", "Issuer100", 
> > > > > > "Issuer11", "Issuer12", "Issuer13", "Issuer14", "Issuer15", 
> > > > > > "Issuer16", "Issuer17", "Issuer18", "Issuer19", "Issuer2", 
> > > > > > "Issuer20", "Issuer21", "Issuer22", "Issuer23", "Issuer24", 
> > > > > > "Issuer25", "Issuer26", "Issuer27", "Issuer28", "Issuer29", 
> > > > > > "Issuer3", "Issuer30", "Issuer31", "Issuer32", "Issuer33", 
> > > > > > "Issuer34", "Issuer35", "Issuer36", "Issuer37", "Issuer38", 
> > > > > > "Issuer39", "Issuer4", "Issuer40", "Issuer41", "Issuer42", 
> > > > > > "Issuer43", "Issuer44", "Issuer45", "Issuer46", "Issuer47", 
> > > > > > "Issuer48", "Issuer49", "Issuer5", "Issuer50", "Issuer51", 
> > > > > > "Issuer52", "Issuer53", "Issuer54", "Issuer55", "Issuer56", 
> > > > > > "Issuer57", "Issuer58", "Issuer59", "Issuer6", "Issuer60", 
> > > > > > "Issuer61", "Issuer62", "Issuer63", "Issuer64", "Issuer65", 
> > > > > > "Issuer66", "Issuer67", "Issuer68", "Issuer69", "Issuer7", 
> > > > > > "Issuer70", "Issuer71", "Issuer72", "Issuer73", "Issuer74", 
> > > > > > "Issuer75", "Issuer76", "Issuer77", "Issuer78", "Issuer79", 
> > > > > > "Issuer8", "Issuer80", "Issuer81", "Issuer82", "Issuer83", 
> > > > > > "Issuer84", "Issuer85", "Issuer86", "Issuer87", "Issuer88", 
> > > > > > "Issuer89", "Issuer9", "Issuer90", "Issuer91", "Issuer92", 
> > > > > > "Issuer93", "Issuer94", "Issuer95", "Issuer96", "Issuer97", 
> > > > > > "Issuer98", "Issuer99"), class = "factor"), structure(c(43L, 
> > > > > > 96L, 20L, 62L, 9L, 52L, 59L, 34L, 17L, 64L), .Label = c("BL1", 
> > > > > > "BL10", "BL100", "BL11", "BL12", "BL13", "BL14", "BL15", 
> > > > > > "BL16", "BL17", "BL18", "BL19", "BL2", "BL20", "BL21", 
> > > > > > "BL22", "BL23", "BL24", "BL25", "BL26", "BL27", "BL28", 
> > > > > > "BL29", "BL3", "BL30", "BL31", "BL32", "BL33", "BL34", 
> > > > > > "BL35", "BL36", "BL37", "BL38", "BL39", "BL4", "BL40", 
> > > > > > "BL41", "BL42", "BL43", "BL44", "BL45", "BL46", "BL47", 
> > > > > > "BL48", "BL49", "BL5", "BL50", "BL51", "BL52", "BL53", 
> > > > > > "BL54", "BL55", "BL56", "BL57", "BL58", "BL59", "BL6", 
> > > > > > "BL60", "BL61", "BL62", "BL63", "BL64", "BL65", "BL66", 
> > > > > > "BL67", "BL68", "BL69", "BL7", "BL70", "BL71", "BL72", 
> > > > > > "BL73", "BL74", "BL75", "BL76", "BL77", "BL78", "BL79", 
> > > > > > "BL8", "BL80", "BL81", "BL82", "BL83", "BL84", "BL85", 
> > > > > > "BL86", "BL87", "BL88", "BL89", "BL9", "BL90", "BL91", 
> > > > > > "BL92", "BL93", "BL94", "BL95", "BL96", "BL97", "BL98", 
> > > > > > "BL99"), class = "factor"), structure(c(1L, 6L, 6L, 4L, 
> > > > > > 6L, 4L, 6L, 2L, 6L, 2L), .Label = c("Banking, Finance, Insurance & Real Estate", 
> > > > > > "Consumer goods: Non-durable", "Energy: Oil & Gas", "Hotel, Gaming, & Leisure", 
> > > > > > "Retail", "Services: Business"), class = "factor"), structure(c(2L, 
> > > > > > 2L, 1L, 5L, 5L, 3L, 3L, 6L, 2L, 4L), .Label = c("Financial Intermediaries", 
> > > > > > "Health care", "Leisure goods/activities/movies", "Multiline Retail", 
> > > > > > "Oil & gas", "Retailers (except food & drug)"), class = "factor"), 
> > > > > > structure(c(8L, 8L, 8L, 8L, 8L, 8L, 5L, 8L, 8L, 8L), .Label = c("AU", 
> > > > > > "BE", "CA", "DE", "FR", "GB", "LU", "US"), class = "factor"), 
> > > > > > structure(c(6L, 6L, 6L, 6L, 6L, 6L, 3L, 6L, 6L, 6L), .Label = c("1", 
> > > > > > "2", "3", "Tax Jurisdiction", "UK", "US"), class = "factor"), 
> > > > > > structure(c(4L, 4L, 4L, 4L, 4L, 4L, 2L, 4L, 4L, 4L), .Label = c("Canada", 
> > > > > > "Europe", "Other", "U.S."), class = "factor"), structure(c(2L, 
> > > > > > 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L), .Label = c("N", 
> > > > > > "Y"), class = "factor"), structure(c(1L, 2L, 2L, 1L, 
> > > > > > 1L, 1L, 2L, 2L, 2L, 1L), .Label = c("N", "Y"), class = "factor"), 
> > > > > > structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "FLOATING", class = "factor"), 
> > > > > > c(8.74248921, NA, NA, 4.338507174, 3.464301168, NA, NA, 
> > > > > > NA, NA, NA), c(2220L, 2220L, 3490L, 3490L, 1766L, 2220L, 
> > > > > > 8070L, 8070L, 3490L, 2220L), c(0.6, 0.55, 0.4, 0.4, 0.45, 
> > > > > > 0.45, 0.4, 0.45, 0.6, 0.4), c(2220L, 2220L, 3490L, 3490L, 
> > > > > > 1766L, 2220L, 8070L, 8070L, 3490L, 2220L), c(0.3, 0.55, 
> > > > > > 0.55, 0.4, 0.45, 0.4, 0.45, 0.3, 0.55, 0.5), c(13L, 17L, 
> > > > > > 17L, 15L, 13L, 14L, 19L, 19L, 18L, 15L), c(15L, 16L, 
> > > > > > 15L, 15L, 13L, 14L, 19L, 19L, 15L, 15L), c(625000000, 
> > > > > > 450000000, 760000000, 630000000, 530000000, 671500000, 
> > > > > > 240000000, 100000000, 375000000, 1043700000), c(0.5, 
> > > > > > 0.02, 0.02, 0.3, 0.65, 0.3, 0.5, 0.65, 0.02, 0.6), c(275L, 
> > > > > > 750L, 650L, 300L, 225L, 300L, 700L, 925L, 825L, 400L), 
> > > > > > c(0, 1, 1, 1.25, 0, 1, 1, 1.25, 1.25, 1), c(0.03027, 
> > > > > > 0.0751, 0.0651, 0.030125, 0.02527, 0.0301, 0.0701, 0.092625, 
> > > > > > 0.082625, 0.0401), c(0.031286195, 0.154827358, 0.080695261, 
> > > > > > 0.041683558, 0.028669191, 0.044131997, 0.084009559, 0.108958135, 
> > > > > > 0.090916682, 0.051331755), c(263.290277, 1448.101305, 
> > > > > > 704.3633733, 368.0708419, 194.2034583, 356.3784942, 746.772345, 
> > > > > > 1036.334285, 875.917553, 436.2991366), c(0.030274693, 
> > > > > > 0.097321394, 0.065317835, 0.030137658, 0.025317343, 0.030236973, 
> > > > > > 0.070611937, 0.093560606, 0.083144654, 0.040049938), 
> > > > > > c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), structure(c(1L, 
> > > > > > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "NO", class = "factor"), 
> > > > > > structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "CS", class = "factor"), 
> > > > > > c(0.0136351351351351, 0.0338288288288288, 0.0186532951289398, 
> > > > > > 0.00863180515759312, 0.0143091732729332, 0.0135585585585586, 
> > > > > > 0.00868649318463445, 0.0114776951672862, 0.0236747851002865, 
> > > > > > 0.0180630630630631), c(0.009081, 0.041305, 0.035805, 
> > > > > > 0.01205, 0.0113715, 0.01204, 0.031545, 0.0277875, 0.04544375, 
> > > > > > 0.02005), c(0.015135, 0.001502, 0.001302, 0.0090375, 
> > > > > > 0.0164255, 0.00903, 0.03505, 0.06020625, 0.0016525, 0.02406
> > > > > > ))), .Names = c("V1", "V2", "V3"), row.names = c(NA, 
> > > > > > -48L), class = c("data.table", "data.frame"))
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > >> Subject: Re: [R] binding two lists of lists of dataframes together
> > > > > >> From: dwinsemius at comcast.net
> > > > > >> Date: Tue, 12 May 2015 11:36:50 -0700
> > > > > >> CC: r-help at r-project.org
> > > > > >> To: newrnewbie at hotmail.com
> > > > > >> 
> > > > > >> 
> > > > > >> On May 12, 2015, at 9:24 AM, Vin Cheng wrote:
> > > > > >> 
> > > > > >>> list1<-list(structure(list(id = c(493L, 564L, 147L, 83L, 33L, 276L, 402L, 285L, 30L, 555L), 
> > > > > >>> WgtBand = c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9), 
> > > > > >>> Wgt = c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")), 
> > > > > >>> structure(list(id = c(76L, 330L, 574L, 47L, 131L, 581L, 133L, 69L, 35L, 487L), 
> > > > > >>> WgtBand = c(1, 1, 2, 3, 4,5, 6, 7, 8, 9), 
> > > > > >>> Wgt = c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")), 
> > > > > >>> structure(list(id = c(376L, 130L, 574L, 47L, 131L, 581L, 133L, 69L, 35L, 487L), 
> > > > > >>> WgtBand = c(1, 1, 2, 3, 4,5, 6, 7, 8, 9), 
> > > > > >>> Wgt = c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")))
> > > > > >>> 
> > > > > >>> 
> > > > > >>> list2<-list(structure(list(id = c(493L, 564L, 147L), 
> > > > > >>> WgtBand = c(1, 2, 3), 
> > > > > >>> Wgt = c(NaN, NaN, NA)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")), 
> > > > > >>> structure(list(id = c(276L, 411L, 574L,111L), 
> > > > > >>> WgtBand = c(1, 2, 3,4), 
> > > > > >>> Wgt = c(NaN, NaN, NA,NA)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")), 
> > > > > >>> structure(list(id = c(76L, 330L), 
> > > > > >>> WgtBand = c(1, 1), 
> > > > > >>> Wgt = c(NaN, NaN)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")))
> > > > > >>> 
> > > > > >>> list3<-list(structure(list(id = c(493L, 564L, 147L, 83L, 33L, 276L, 402L, 285L, 30L, 555L,493L, 564L, 147L), 
> > > > > >>> WgtBand = c(1, 1, 2, 3, 4, 5, 6, 7, 8, 9,1, 2, 3), 
> > > > > >>> Wgt = c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA,NaN, NaN, NA)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")), 
> > > > > >>> structure(list(id = c(376L, 130L, 574L, 47L, 131L, 581L, 133L, 69L, 35L, 487L,276L, 411L, 574L,111L), 
> > > > > >>> WgtBand = c(1, 1, 2, 3, 4,5, 6, 7, 8, 9, 1, 2, 3,4), 
> > > > > >>> Wgt = c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA,NaN, NaN, NA,NA)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")), 
> > > > > >>> structure(list(id = c(76L, 330L, 574L, 47L, 131L, 581L, 133L, 69L, 35L, 487L,76L, 330L), 
> > > > > >>> WgtBand = c(1, 1, 2, 3, 4,5, 6, 7, 8, 9, 1, 1), 
> > > > > >>> Wgt = c(NaN, NaN, NA, NA, NA, NA, NA, NA, NA, NA,NaN, NaN)), 
> > > > > >>> .Names = c("id", "WgtBand", "Wgt")))
> > > > > >> 
> > > > > >> I get something like the desired structure with:
> > > > > >> 
> > > > > >> mapply(function(x,y) mapply(c, x,y), list1,list2)
> > > > > >> 
> > > > > >> I can make it closer with:
> > > > > >> 
> > > > > >> lapply( mapply(function(x,y) mapply(c, x,y), list1,list2) , function(x) unclass( as.data.frame(x) ) )
> > > > > >> 
> > > > > >> 
> > > > > >> Or even closer with:
> > > > > >> 
> > > > > >> lapply( mapply(function(x,y) mapply(c, x,y), list1,list2) , function(x) as.list( as.data.frame(x) ) )
> > > > > >> 
> > > > > >> `identical` does not return TRUE but I cannot see where the difference lies.
> > > > > >> 
> > > > > >> -- 
> > > > > >> 
> > > > > >> David Winsemius
> > > > > >> Alameda, CA, USA
> > > > > >> 
> > > > > > 
> > > > > > [[alternative HTML version deleted]]
> > > > > > 
> > > > > > ______________________________________________
> > > > > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > > > > > 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.
> > > > > 
> > > > > David Winsemius
> > > > > Alameda, CA, USA
> > > > > 
> > > 
> > > David Winsemius
> > > Alameda, CA, USA
> > >
> 
> David Winsemius
> Alameda, CA, USA
> 
 		 	   		  
	[[alternative HTML version deleted]]



More information about the R-help mailing list