Re: On partitioning lists by intervals
- To: mathgroup at smc.vnet.net
- Subject: [mg80447] Re: On partitioning lists by intervals
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 22 Aug 2007 04:55:05 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <faea5n$ejf$1@smc.vnet.net>
Mauricio Esteban Cuak wrote:
<snip>
> I have a list of say 500 different random values. I need to divide it
> in n intervals of fixed length (for example, the lowest value is 0 and
> the maximum 100 so I need to get sublists of values that go from 0 to
> 10, 10 to 20, etc.)
One way to do that is with Select and Table, testing interval membership
and sorting (if needed) the values. For instance,
In[1]:= data = RandomReal[{0, 100}, {50}];
data = Sort@data;
Table[Select[data, IntervalMemberQ[Interval[{m, m + 10}], #] &], {m,
0, 90, 10}]
Out[3]= {{2.64545, 2.88612, 6.95366, 8.94619}, {}, {21.2125, 22.5317,
23.3286, 23.5521, 27.0041, 27.0368}, {31.8472, 34.0783, 35.9797,
38.0444}, {40.1175, 40.9223, 44.6731, 46.3196, 47.9082, 48.3849,
49.7482}, {50.6901, 51.3209, 52.0433, 53.6529, 57.0734,
59.8382}, {60.2186, 62.8556, 64.1785, 66.705, 68.0119,
68.1914}, {70.2759, 73.2949, 75.0208, 75.026, 75.269, 76.8917,
77.0392}, {80.4942, 85.8137, 87.242, 87.5028, 88.4888,
89.8753}, {91.4804, 93.1612, 98.4789, 99.0704}}
--
Jean-Marc