       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