Average column data with specific values

1 Ansicht (letzte 30 Tage)
Nick Austinos
Nick Austinos am 23 Aug. 2022
Kommentiert: Nick Austinos am 23 Aug. 2022
I have the data below, I am trying to average the column gdppc for each country.

Akzeptierte Antwort

Robert U
Robert U am 23 Aug. 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

Weitere Antworten (1)

Simon Chan
Simon Chan am 23 Aug. 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

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by