Using find command to group data into bins

1 view (last 30 days)
Ivan Mich
Ivan Mich on 26 Jul 2021
Commented: dpb on 26 Jul 2021
I have one ascii file with 2 columns (1st X and 2nd Y) .
I want to group the elements of X into bins (e.g. [2-4,4-6, etc) and I would like to group values of Y values based on the group of X values.
How could I use find command in order to make it?
Could you please help me?

Answers (3)

Cris LaPierre
Cris LaPierre on 26 Jul 2021
I wouldn't try to use find. I would try to use discretize, findgroups, or histcounts (or maybe histcounts2) instead.

dpb
dpb on 26 Jul 2021
find is not the tool for this; see
grpstats or groupsummary or for more generality, findgroups combined with splitapply

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 26 Jul 2021
If I have undersood your question correctly, in this case, find() is not quite efficient. Thus, you can better create just indxes, e.g.:
A1 = [X(2:4), Y(2:4)];
A2 = [X(4:6), Y(4:6)];
% OR:
XY=[X,Y];
B1 = XY(2:4,:);
B2 = XY(4:6,:);
  1 Comment
dpb
dpb on 26 Jul 2021
group the elements of X into bins (e.g. [2-4,4-6, etc)"
Raises the Q? of just precisely does this mean? I and Chris interpreted as grouping by the values of X whereas Sulaymon's A assumes just on the index order.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!