Dividing a set of values into groups
8 views (last 30 days)
Show older comments
Mohamed Saleh
on 13 Feb 2018
Commented: Abdalla Issa
on 5 Nov 2020
Hi. Please, I need a help with the following. I have a set of very larg number of values. For simplicity, let I have the values x=[-2,-7,-1,-6,-1,-5,-2,-3,-1]. I want to divide x into four sets. The first set x1={-2,-7}, the second set x2={-1,-6}, the 3th is x3={-1,-5} and x4={-2,-3}. taking into account that the last value of x which is -1 is not included as I divide x into four groups. Then I need to find the mean for each set and compare it with each other. Your answer is really appreciated. Thank you.
2 Comments
Jelle
on 14 Feb 2018
Are you asking on how to calculate the average for each consecutive quarter of the data, independent of the number of datapoints?
Accepted Answer
Akira Agata
on 14 Feb 2018
Here is one possible solution.
% Your data
x = [-2,-7,-1,-6,-1,-5,-2,-3,-1];
% Number of group
nGroup = 4;
% Number of element per each group
nElementPerGroup = floor(numel(x)/nGroup);
% Create a group index
group = repelem((1:nGroup),nElementPerGroup);
% Average of each group
avg = splitapply(@mean,x(1:numel(group)),group);
2 Comments
Abdalla Issa
on 5 Nov 2020
I have a different problem similar to this, my values (8000 values) are in a separeta file I uploaded the file but now I need to divide these values into bands starting from the minimum value each band will cover 1.5.
so the first band will have to cover all the values included between the minimum value and minimum value+1.5
how can I do it?
thank you.
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!