Calculate statistical parameters from certain rows of a matrix

1 visualizzazione (ultimi 30 giorni)
I have data of days and temperature in specific intervals recorded through out that particular day: eg
Day Temp
1 24
1 24.5
1 24.5
2 25
2 25
2 25
3 25.5
3 25.5
3 25.5
and so on for many number of days through. If I want to take the mean of all the temperature values from only day 1, how would I go about doing this using indexing?

Risposta accettata

madhan ravi
madhan ravi il 12 Ago 2019
Wanted=splitapply(@mean,x(:,2),findgroups(x(:,1))) % x(:,1) is Day and x(:,2) is Temperature
% or if you're using version prior to 2015b then:
Wanted=accumarray(Day,Temperature,[],@mean);
For only one day it’s simply:
day = 1;
mean(Temperature(Day==day))

Più risposte (1)

Jos (10584)
Jos (10584) il 12 Ago 2019
help grpstats
help accumarray

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by