counting frequency of strings

Hi I have a very large variable containing 3 letter country codes (GBR, CHN, USA, etc) and i think some of them repeat, so what is the best way to find the frequency of every country in that variable?
Thanks PS: variable size is 100 x 3 (100 countries)

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 22 Mar 2013
Edited: Azzi Abdelmalek on 22 Mar 2013
x=strvcat('USA','ALG','FRA','ALG','FRA');
y=unique(x,'rows');
for k=1:size(y,1)
freq(k)=sum(ismember(x,y(k,:),'rows'));
end
out=[cellstr(y) num2cell(freq')]
If your data is a cell array
x={'USA';'ALG';'FRA';'ALG';'FRA'};
y=unique(x);
for k=1:numel(y)
freq(k)=sum(strcmp(x,y(k)));
end
out=[y num2cell(freq')]

2 Comments

exactly what I wanted, thanks!
Cedric
Cedric on 23 Mar 2013
Edited: Cedric on 23 Mar 2013
Don't forget to [ Accept ] the answer.

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Asked:

on 22 Mar 2013

Community Treasure Hunt

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

Start Hunting!