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)

Respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 22 de Mzo. de 2013
Editada: Azzi Abdelmalek el 22 de Mzo. de 2013

3 votos

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 comentarios

huehuehue
huehuehue el 23 de Mzo. de 2013
exactly what I wanted, thanks!
Cedric
Cedric el 23 de Mzo. de 2013
Editada: Cedric el 23 de Mzo. de 2013
Don't forget to [ Accept ] the answer.

Iniciar sesión para comentar.

Categorías

Más información sobre Programming en Centro de ayuda y File Exchange.

Preguntada:

el 22 de Mzo. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by