Re: simple question

• To: mathgroup at smc.vnet.net
• Subject: [mg105239] Re: [mg105202] simple question
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Wed, 25 Nov 2009 02:33:22 -0500 (EST)

```groupBy[mat_, positions_] :=
GatherBy[mat, Part[#, positions] &]

Bob Hanlon

---- Francisco Gutierrez <fgutiers2002 at yahoo.com> wrote:

=============
Dear List:
I have the following list:
ejemplo1={{1,0,2,2,0},{0,1,1,1,2},{2,0,0,1,1},{1,1,0,2,2},{1,0,2,0,1},{2,2,0,1,1},{2,1,1,1,2},{0,1,1,0,1}};
I want to group it, so that the sublists of ejemplo1 that have identical values at positions 4 and 5 are gathered together. So I did the following code:
Split[ Sort[ejemplo1,#1[[4]]>=#2[[4]] && #1[[5]]>=#2[[5]] &],Take[#1,{4,5}]==Take[#2,{4,5}]&]

Works! The output in effect is:
{{{1,1,0,2,2}},{{0,1,1,1,2},{2,1,1,1,2}},{{2,0,0,1,1},{2,2,0,1,1}},{{1,0,2,0,1},{0,1,1,0,1}},{{1,0,2,2,0}}},
precisely what I wanted.

Now, how can I create a function for the general case (instead of fixed positions 4 and 5, an arbitrary number of positions that act as "gathering parameter")?
Fg

```

• Prev by Date: Re: Re: Undo in Mathematica
• Next by Date: Re: simple question
• Previous by thread: Re: Re: part assigned sequence behavior puzzling
• Next by thread: Re: simple question