Averaging values in Column B based on serial date in column A

2 vues (au cours des 30 derniers jours)
Claire
Claire le 8 Juil 2020
Commenté : Tommy le 8 Juil 2020
Hello
I have an array that looks like:
col A col B
737585 1
737585 2
737585 3
737586 4
737586 5
737586 6
where column A is the serial date and column B is the respective value. I need a for loop that will average the values in col B that have the same serial date as in column A. Thank you!
ex: serial date: 737585 avg: 1+2+3/3 = 2

Réponse acceptée

Tommy
Tommy le 8 Juil 2020
Does it need to be a loop? I believe this will work:
groups = findgroups(yourArray(:,1));
avg = splitapply(@mean, yourArray(:,2), groups);
  2 commentaires
Claire
Claire le 8 Juil 2020
I guess it didn't have to be a loop, that worked perfectly! Thank you so much!!!
Tommy
Tommy le 8 Juil 2020
Happy to help!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by