counting frequency of strings

10 views (last 30 days)
huehuehue
huehuehue on 22 Mar 2013
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
huehuehue
huehuehue on 23 Mar 2013
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

Community Treasure Hunt

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

Start Hunting!