Re: Intersection of sublists on date and making a 2D list from a 3D
- To: mathgroup at smc.vnet.net
- Subject: [mg109932] Re: Intersection of sublists on date and making a 2D list from a 3D
- From: Ray Koopman <koopman at sfu.ca>
- Date: Sun, 23 May 2010 03:18:15 -0400 (EDT)
- References: <ht7nbh$psj$1@smc.vnet.net>
Further to my earlier post, the whole thing would then be Function[i,Flatten@{i,Cases[#,{x_,y_,i}:>{x,y},{1},1]&/@list}] /@ Intersection@@(#[[All,3]]&/@list) On May 21, 9:42 pm, Garapata <warsaw95... at mypacks.net> wrote: > I have a list with the following dimensionality: > > Dimensions[list] > Dimensions[list[[1]]] > Dimensions[list[[2]]] > Dimensions[list[[3]]] > > {3} > {130, 3} > {126, 3} > {191, 3} > > I think of it as 3 groups, each with a different number of rows, but > each of these rows has 3 columns. Of the 3 columns, the third has > dates in a DateList format. > > So, I can simulate the list with the following: > > a = Table[{RandomInteger[10], RandomInteger[10], DatePlus[{2010, 1, > 1}, RandomInteger[{1, 150}]]}, {1}, {191}]; > list = Join[a[[All, 4 ;; 133, All]], a[[All, 1 ;; 126, All]], a]; > > Ultimately I'd like to find all the rows that intersect on the same > dates and put the whole thing into a 2 dimensional structure that > would have the following columns: > > commonDates, group1Data1, group1Data2, group2Data1, group2Data2, > group3Data1, group3Data2, > > I can use Intersect[] to find the common dates: > > Intersection[list[[1, All,3]], list[[2, All, 3]], list[[3, All, > 3]]]; > > but this seems a bit cumbersome given I may have a greater or lesser > number of groups. Seems like I need to start this in a better way, > but since Intersection[] doesn't take a list of lists I don't know > where to take this. > > Probably easier if I had a more regular structure but I don't. > > Any help in pointing me in the right direction much appreciated. > > Thx to all.