Re: Re: Finding Clusters
- To: mathgroup at smc.vnet.net
- Subject: [mg104642] Re: [mg104564] Re: [mg104515] Finding Clusters
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Thu, 5 Nov 2009 03:53:01 -0500 (EST)
- References: <200911030751.CAA01018@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
Brilliant as usual, Fred.
I did think intervals only needed to overlap to "correspond", whereas your
solution requires them to share an end-point.
For instance, in this example the first interval is a subset of the second
interval and overlaps with the third, yet "components' associates it with
neither.
event = {{1, 2} + 1/2, {1, 3}, {3, 4}, {5, 6}, {7, 8}, {8, 10}};
components@event
{{1, 3, 4}, {3/2, 5/2}, {5, 6}, {7, 8, 10}}
I can't really guess the OP's intent.
Bobby
On Wed, 04 Nov 2009 00:33:25 -0600, Fred Simons <f.h.simons at tue.nl> wrote:
> Here is a very short, very fast but not very simple solution:
>
> components[lst_List] := Module[{f},
> Do[Set @@ f /@ pair, {pair, lst}]; GatherBy[Union @@ lst, f]]
>
> Fred Simons
> Eindhoven University of Technology
>> 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.
>>
>>
>>
>
--
DrMajorBob at yahoo.com
- Follow-Ups:
- Re: Re: Re: Finding Clusters
- From: Fred Simons <f.h.simons@tue.nl>
- Re: Re: Re: Finding Clusters
- References:
- Finding Clusters
- From: fd <fdimer@gmail.com>
- Finding Clusters