How to group variables in a same cluster ?

5 次查看(过去 30 天)
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]

采纳的回答

ANKUR KUMAR
ANKUR KUMAR 2018-1-8
编辑:ANKUR KUMAR 2018-1-8
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 个评论
ANKUR KUMAR
ANKUR KUMAR 2018-1-8
Sir, I am just a student. That was my mistake. Sorry for this.
Pradya Panyainkaew

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

请先登录,再进行评论。

更多回答(1 个)

Guillaume
Guillaume 2018-1-8
Assuming your clustering numbers are all strictly positive integers:
accumarray(A(:, 2), A(:, 1), [], @(custs) {custs})

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by