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

 채택된 답변

Walter Roberson
Walter Roberson 2011년 11월 19일

0 개 추천

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

Andrei Bobrov
Andrei Bobrov 2011년 11월 19일
genenum = accumarray(IDX(:),ones(numel(IDX),1));
genes = accumarray(IDX(:),genedata,[],@(x){x});
FIR
FIR 2011년 11월 21일
thanks andrei
FIR
FIR 2011년 11월 21일
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에 대해 자세히 알아보기

태그

질문:

FIR
2011년 11월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by