Intersection of sublists on date and making a 2D list from a 3D one
- To: mathgroup at smc.vnet.net
- Subject: [mg109911] Intersection of sublists on date and making a 2D list from a 3D one
- From: Garapata <warsaw95826 at mypacks.net>
- Date: Sat, 22 May 2010 00:42:39 -0400 (EDT)
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.