Binning data from two columns using one column as category for second column
Mostrar comentarios más antiguos
Hi all,
So I am trying to do this via loops but i am not getting anywhere and i am sure that there is a quicker way to solve this problem. I have two columns of data, Radius and Volume, and I wanted to bin the Volume according to the values of the Radius. So for example, if R is the first column of values and V is the second column
A = [ 1 8
2 7
3 9
4 3
5 4
6 6
7 5
8 6
9 6
10 6
11 3
12 2
13 1
14 1
15 3
16 4
]
will be binned as
B = [ 5 31
10 29
15 10
]
So the bin labels are the values of the Radius, and the second column contains the sum of the Volumes in that Radius range.
Many thanks
3 comentarios
Star Strider
el 3 de Jun. de 2016
Please explain in some detail how you get ‘B’ out of ‘A’.
Jos (10584)
el 3 de Jun. de 2016
which Radius range?
Sohrab Daemi
el 3 de Jun. de 2016
Respuestas (1)
Jos (10584)
el 3 de Jun. de 2016
[~,i] = histc(X,edges)
Result = accumarray(Y,i,[max(i) 1],@sum)
2 comentarios
Sohrab Daemi
el 3 de Jun. de 2016
Editada: Sohrab Daemi
el 3 de Jun. de 2016
Jos (10584)
el 4 de Jun. de 2016
Almost correct! See the help of HISTC about the meaning of the second input argument ( edges).
Categorías
Más información sobre Histograms en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!