Re: Database like "left join" or SAS like Merge function
- To: mathgroup at smc.vnet.net
- Subject: [mg83603] Re: [mg83569] Database like "left join" or SAS like Merge function
- From: bsyehuda at gmail.com
- Date: Sat, 24 Nov 2007 04:14:05 -0500 (EST)
- References: <200711231031.FAA25047@smc.vnet.net>
It is easy to implement such a task here is for a single column position merge2Matrices[mat1_, mat2_, col_] := If[Length[mat1] == Length[mat2] && col <= Length[mat1], MapThread[Flatten[Insert[#1, #2, col]] &, {mat1, mat2}]] or merge2Matrices[mat1_, mat2_, col_] := MapThread[Flatten[Insert[#1, #2, col]] &, {mat1, mat2}] /; Length[mat1] == Length[mat2] && col <= Length[mat1] The extension for multiple indexes is immediate merge2Matrices[mat1_, mat2_, col_] := MapThread[Flatten[Insert[#1, #2, #3]] &, {mat1, mat2, col}] /; Length[mat1] == Length[mat2]==Length[col] note the change of conditions and the fact that col needs to be a list of indexes yehdua On Nov 23, 2007 12:31 PM, Peter <pjcrosbie at gmail.com> wrote: > Is there a builtin function that can "join" (merge) two two- > dimensional data lists based on a single or multiple key column? > > This seems like such a basic requirement that I feel like I must be > missing something obvious. > > Thanks, Peter > >
- References:
- Database like "left join" or SAS like Merge function
- From: Peter <pjcrosbie@gmail.com>
- Database like "left join" or SAS like Merge function