How can I determine the frequency of a text term occurring in a matrix and add this frequency to the matrix?

1 view (last 30 days)
I have a matrix of terms that are unique or multiple and I need to count the frequency of each unique term and add this to the matrix so that I can plot it.
An example of my dataset is below.
'CSARDLSGG##YNEQFF' 'CSARDLRPGGAYNEQFF' 'CSALGGGSTYNEQFF' 'CSALGGGSTYNEQFF' 'CSALGGGSTYNEQFF' 'CSAGVRLAGGVYQETQYF' 'CSAGTRK#NTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF'

Answers (2)

Thomas
Thomas on 6 Dec 2012
a={'CSARDLSGG##YNEQFF' 'CSARDLRPGGAYNEQFF' 'CSALGGGSTYNEQFF' 'CSALGGGSTYNEQFF' 'CSALGGGSTYNEQFF' 'CSAGVRLAGGVYQETQYF' 'CSAGTRK#NTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF' 'CSAGTESNTEAFF'}; % input
out=unique(a); % unique values in a
for ii=1:numel(unique(a))
count(ii)=sum(strcmp(a,out(ii)));
end
unq=out'
count'

Megan
Megan on 6 Dec 2012
How do I apply a scalar?
ii =
1 2 3 4 5 6
Error using strcmp Inputs must be the same size or either one can be a scalar.
  1 Comment
Thomas
Thomas on 6 Dec 2012
I'm assuming you want to find frequency of numeric scalar
a=[1 2 3 4 5 6 3 4 2 3];
out=unique(a);
for ii=1:numel(out)
count(ii)=sum(a==out(ii));
end
fulloutput=[out' count']

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!