How to group variables in a same cluster ?

1 vue (au cours des 30 derniers jours)
Pradya Panyainkaew
Pradya Panyainkaew le 8 Jan 2018
if I have
A=[1 2; 2 4; 3 4; 4 1; 5 1; 6 4; 7 4; 8 2; 9 1; 10 1]
where 1st column represents customer ID and 2nd column shows Clustering Number. How can I group customer ID into a same cluster such as
cluster1=[4 5 9 10], cluster2=[1,8], cluster3=[ ], cluster4=[2,3,6,7]

Réponse acceptée

ANKUR KUMAR
ANKUR KUMAR le 8 Jan 2018
Modifié(e) : ANKUR KUMAR le 8 Jan 2018
A=[1 2; 2 4; 3 4; 4 1; 5 1; 6 4; 7 4; 8 2; 9 1; 10 1]
id=unique(A(:,2))
for ii=1:length(id)
iid{ii}=A(find(A(:,2)==id(ii)),1)
end
you can see the outputs just by entering iid{1}
  3 commentaires
ANKUR KUMAR
ANKUR KUMAR le 8 Jan 2018
Sir, I am just a student. That was my mistake. Sorry for this.
Pradya Panyainkaew
Pradya Panyainkaew le 8 Jan 2018

It's fine. Don't worry. I'm a rookie also. It's not your fault. Let's share.

Connectez-vous pour commenter.

Plus de réponses (1)

Guillaume
Guillaume le 8 Jan 2018
Assuming your clustering numbers are all strictly positive integers:
accumarray(A(:, 2), A(:, 1), [], @(custs) {custs})
  1 commentaire
Pradya Panyainkaew
Pradya Panyainkaew le 8 Jan 2018
Thank you very much. it is excellent code.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by