MATLAB Answers

Fat Man
0

Using for loop to count how many times a content appears in a cell array?

Asked by Fat Man
on 21 Jun 2019
Latest activity Edited by madhan ravi
on 21 Jun 2019
Hello MATLAB Experts,
Suppose I have a cell arr arr
I want to use for loop to get the pattern of each different words in the cell and Sort like this form:
Descending => Alphabetical order if the patern of 2 words are equal
aa: 3
cs: 2
avb: 1
ef: 1
arr = {'aa';'avb';'cs';'aa';'ef';'aa';'cs'}
%Then I use for loop to find the pattern of each cell
for i = 1 : length(arr)
list = find(strcmp(arr,arr(i)))
end
%The list appears at both 'aa' 1st position and 'aa' 4th position. How can I get rid one of them??
Thank you for your help!!!

  0 Comments

Sign in to comment.

1 Answer

Answer by madhan ravi
on 21 Jun 2019
Edited by madhan ravi
on 21 Jun 2019
 Accepted Answer

T=cell2table(arr);
Wanted = sortrows(varfun(@sum,T,'GroupingVariables','arr',...
'OutputFormat','table'),2,'descend')
% For versions since 2018b
Wanted = sortrows(groupsummary(T,{'arr'}),2,'descend')

  2 Comments

Thank you.
Just one more question. Is there anyway that I can get rid of one repeat content as my code above???
Honestly, what your doing is waste of time. Btw what release are you using? When you ask a question mention what release your using forehand don’t let the answerers guess!

Sign in to comment.