Find non unique string in a table

22 Ansichten (letzte 30 Tage)
Sonima
Sonima am 6 Aug. 2019
Beantwortet: Sonima am 9 Aug. 2019
Hi!
I have a table "TT" which I want to return the "Ticket" of non unique string in the "Alpha".
TT =
8×2 table
Ticket Alpha
_______ ________
29991 AB'
29991 CD'
29993 EF'
30018 GH'
30066 IJ'
30105 KL'
30105 EF'
30107 NO'
here EF in not unique under "Alpha" and I want to return "30105". How can i do this?

Akzeptierte Antwort

Adam Danz
Adam Danz am 6 Aug. 2019
Bearbeitet: Adam Danz am 8 Aug. 2019
nonUnqIdx is a logical index of rows of TT.Alpha that are a repeat (ie, not the first instance).
[~, AlphaGroups] = ismember(TT.Alpha, unique(TT.Alpha,'stable')); % identify groups
nonUnqIdx = [1;diff(AlphaGroups)] < 1;
% Tickets for all non-unique (ie repeat) strings in Alpha
TT.Ticket(nonUnqIdx)

Weitere Antworten (2)

Sean de Wolski
Sean de Wolski am 8 Aug. 2019
n = groupcounts(T.Alpha)
[~, last] = unique(T.Alpha, 'last')
T.Ticket(last(n>1))
Using the "new and shiny" groupcounts.

Sonima
Sonima am 9 Aug. 2019
T.Ticket(groupcounts(T.Alpha)>1)

Kategorien

Mehr zu Tables 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