MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Finding Clusters

  • To: mathgroup at smc.vnet.net
  • Subject: [mg104569] Re: Finding Clusters
  • From: dh <dh at metrohm.com>
  • Date: Wed, 4 Nov 2009 01:34:21 -0500 (EST)
  • References: <hconfd$113$1@smc.vnet.net>


Hi,

you could achieve this using Union:



event = {{1, 2}, {1, 3}, {3, 4}, {5, 6}, {7, 8}, {8, 10}};

j = 0;

While[++j < Length[event],

   i = j;

   While[++i <= Length[event],

    If[Intersection[event[[j]], event[[i]]] =!= {},

      event[[j]] = Union[event[[j]], event[[i]]];

      event = Drop[event, {i}]; --i];

    ]];



event



Daniel



fd wrote:

> All.

> 

> I have a list which represents some natural event. These events are

> listed pair-wise, which corresponds to event happening within certain

> time interval from each other, as below

> 

> event={{1,2},{1,3},{3,4},{5,6},{7,8},{8,10}}

> 

> I wish to find a thread of events, i.e. if event A is related to B and

> B to C, I wish to group {A,B,C} together. For the example above I

> would have

> 

> {{1,2,3,4},{5,6},{7,8,10}}

> 

> This would correspond to do a Graph Plot and identifying the parts

> which are disconnected It should be simple but I'm really finding it

> troublesome.

> 




  • Prev by Date: Re: Finding Clusters
  • Next by Date: Re: Re: graphic
  • Previous by thread: Re: Finding Clusters
  • Next by thread: Re: Finding Clusters