Dividing set of data into groups and evaluating the mean of each group

1 visualizzazione (ultimi 30 giorni)
Hi. Can any body help me with the following please?. I have a set of random data like x=[-3,-10,-2,...,-7] which is up to let say 5000 values. I need to divide x into set of groups x1, x2, x3, ...,xn, where each group of x has 50 elements. Then I need to evaluate the mean of each group and compare it with the mean of the next group. Thank you in advanced.

Risposte (3)

KSSV
KSSV il 13 Feb 2018
A = rand(5000,1) ;
B = reshape(A,50,[]) ;
mean_B = mean(B,2) ;

Akira Agata
Akira Agata il 13 Feb 2018
Another way:
x = rand(5000,1);
g = repelem(1:100,50)';
avg = splitapply(@mean,x,g);
  1 Commento
Mohamed Saleh
Mohamed Saleh il 13 Feb 2018
It seems like I am not getting the right value for the mean of each group. Actually I want the first group of x has the first 50 values of x then I find the mean for this group. Then the second group of x has the next 50 values of x and find the mean for this group as well and so on.

Accedi per commentare.


Image Analyst
Image Analyst il 13 Feb 2018
I'm not sure how you're defining/selecting the values to go into each group, but once you have the groups defined, then you can use grpstats() if you have the Statistics and Machine Learning Toolbox.
  1 Commento
Mohamed Saleh
Mohamed Saleh il 13 Feb 2018
Actually I want the first group of x has the first 50 values of x. Then the second group of x has the next 50 elements and so on.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by