How to group variables in a same cluster ?

2 Ansichten (letzte 30 Tage)
Pradya Panyainkaew
Pradya Panyainkaew am 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]

Akzeptierte Antwort

ANKUR KUMAR
ANKUR KUMAR am 8 Jan. 2018
Bearbeitet: ANKUR KUMAR am 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 Kommentare
Pradya Panyainkaew
Pradya Panyainkaew am 8 Jan. 2018

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by