forming a cell array from matrix

I want to include the genes included in each cluster .
i have genedata =[1:1:100]
the code given below is for number of genes in cluster. Now i want to include the genes included
genedata=[1:1:100]
IDX = kmeans(genedata',20)
for i = 1:20
genenum(i) = sum(IDX == i);
end

 采纳的回答

First off, the loop you have is okay, but you could also replace it with the more efficient
genenum = accumarray(IDX(:));
As for including the genes included: you are not clear as to what you mean by that, so I will guess:
genes = cell(20,1);
for K = 1 : 20
genes{K} = genedata(IDX==K);
end

3 个评论

genenum = accumarray(IDX(:),ones(numel(IDX),1));
genes = accumarray(IDX(:),genedata,[],@(x){x});
thanks andrei
andrei if i do yhe following operation i get error
Error using ==> horzcat
CAT arguments dimensions are not consistent.
Error in ==> v at 10
fix=[j genenum genes]
where j=[1:20]'
please help

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Genomics and Next Generation Sequencing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by