counting frequency of strings
10 views (last 30 days)
Show older comments
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)
0 Comments
Answers (1)
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
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!