Filter löschen
Filter löschen

Count unique values in an array

6 Ansichten (letzte 30 Tage)
Ana
Ana am 29 Mär. 2014
Kommentiert: Ana am 30 Mär. 2014
Hello,
I have the following set of data
I need to count how many times the values in column 3 appear. So, for instance: SABC appears 4 times. BTFG appears 20 times. GCBK appears 7 times and so on.
Afterwards I would want to erase the rows for the variables that appear less than 100 times. Is there an efficient way to do this? I'm new at matlab. Thank you so much in advance.

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 29 Mär. 2014
Bearbeitet: Azzi Abdelmalek am 29 Mär. 2014
If M is your cell array Try this,
c3=M(:,3)
[ii,jj,kk]=unique(c3)
f=histc(kk,1:numel(jj)); % Frequencies corresponding to ii
idx=f<100
idx1=ismember(c3,ii(idx))
M(idx1,:)=[]
  1 Kommentar
Ana
Ana am 30 Mär. 2014
Thank you, it works perfectly!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 29 Mär. 2014
hint: how many outputs can unique() have?

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by