Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Binning data points

50 views
Skip to first unread message

Niles

unread,
Feb 21, 2012, 6:14:44 AM2/21/12
to
Hi

Say I have a data set (x_i, y_i) such as of the form

{
{4.4077, 8.41282*10^-7},
{9.39964, 3.3636*10^-6},
{14.3781, 7.56237*10^-6},
{19.3462, 0.00001343},
{24.3073, 0.0000209557},
...
}

The first coordinate is time, the second a weight. The sum of the
weights equal 1, so I am dealing with a probability density function.
I want to bin all the data points such that data points with their x-
coordinates within some range delta_x are binned together, and the
total y-coordinate of that bin should be the sum of all the y's of the
data points in the respective bin. So basically something like a
histogram.

How can I do this?

Best regards.
Niles.

Ray Koopman

unread,
Feb 22, 2012, 5:31:11 AM2/22/12
to
data = {{4.4077, 8.41282/10^7},
{9.39964, 3.3636/10^6},
{14.3781, 7.56237/10^6},
{19.3462, 0.00001343},
{24.3073, 0.0000209557}};

bb = {0,10,20,30,40}; (* bin boundaries *)

(* This gives the count and total probability for each bin. *)
Flatten[Map[If[# == {}, {0,0}, {Length@#,Tr@#[[All,2]]} ]&,
BinLists[data, {bb}, {{-Infinity,Infinity}}], {2}], 1]

{{2, 4.20488*10^-6},
{2, 0.0000209924},
{1, 0.0000209557},
{0, 0}}

0 new messages