How to group variables in a same cluster ?

2 次查看(过去 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 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by