finding most common letter in a bunch of words
1 view (last 30 days)
Show older comments
say I have a bunch of words
x={'abac';'abaca';'abacate';'abacay';'abacinate';'abacination';'abaciscus'}
What would I write to find the most common letter in x so for example Most_common_letter=%most common letter that appears in x
0 Comments
Accepted Answer
More Answers (2)
Guillaume
on 10 Nov 2015
Two steps are required:
- build the histogram of the letters, however you want (using accumarray, histc or histcounts)
- find the max of the histogram
x = {'abac';'abaca';'abacate';'abacay';'abacinate';'abacination';'abaciscus'};
[letter, ~, pos] = unique([x{:}]);
letterhist = accumarray(pos, 1); %letter histogram
[~, maxidx] = max(letterhist);
fprintf('the most frequent letter is: %c\n', letter(maxidx));
2 Comments
Guillaume
on 10 Nov 2015
The printing was just for demo. Getting the letter is there right in the code:
letter(maxidx)
See Also
Categories
Find more on File Operations 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!