Average column data with specific values

3 vues (au cours des 30 derniers jours)
Nick Austinos
Nick Austinos le 23 Août 2022
Commenté : Nick Austinos le 23 Août 2022
I have the data below, I am trying to average the column gdppc for each country.

Réponse acceptée

Robert U
Robert U le 23 Août 2022
Hi Faustine Enos,
I do not know how your data is available and what data type you chose. It is preferrable to use table type data. Then, you can adjust the following code snippet:
col_1 = {'Country A';'Country A';'Country A';'Country A';'Country B';'Country B';'Country B';'Country C'};
col_2 = [1; 2; 3; 4; 5; 6; 7; 8];
data = table(col_1,col_2,'VariableNames',{'Country','value'});
cCountry = unique(data.Country);
for ik = 1:numel(cCountry)
sumVal(ik) = sum(data.value(ismember(data.Country,cCountry{ik})));
disp(sprintf('%s %d',cCountry{ik},sumVal(ik)));
end
Country A 10 Country B 18 Country C 8
Kind regards,
Robert

Plus de réponses (1)

Simon Chan
Simon Chan le 23 Août 2022
Use function writetable to convert your data on a table array.
Then use function groupsummary as follows
G = groupsummary(T,"country","mean","gdppc") % where T is the table array
  1 commentaire
Nick Austinos
Nick Austinos le 23 Août 2022
Hi it works really well.

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by