Effacer les filtres
Effacer les filtres

Find non unique string in a table

16 vues (au cours des 30 derniers jours)
Sonima
Sonima le 6 Août 2019
Réponse apportée : Sonima le 9 Août 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?

Réponse acceptée

Adam Danz
Adam Danz le 6 Août 2019
Modifié(e) : Adam Danz le 8 Août 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)

Plus de réponses (2)

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

Sonima
Sonima le 9 Août 2019
T.Ticket(groupcounts(T.Alpha)>1)

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by