2016-11-20 15 views
1

NMF R 패키지에서 conensusmap()을 사용하여 출력을 시각화 할 수 있습니다. 플롯은 "일치"트랙에서 어떤 샘플이 어떤 클러스터에 속해 있는지 보여줍니다.R NMF 패키지 : 샘플 분류를 추출하는 방법?

나는 데이터 프레임과 같이 얻을 수 있도록이 샘플 분류를 추출하고자 다음 ConsensusClusterPlus 패키지에서

Sample Cluster 
S1  1 
S2  1 
S3  2 
S4  1 
.   . 
.   . 
S100  2 

를이 용이하다. 결과를 $ consensusClass로 끌어 올뿐입니다. NMF 패키지와 비슷한 솔루션을 찾을 수 없습니다. 난 원시 음모 데이터를 보려고했지만, 너무 의미가있는 어떤 의미를 추출 할 수 있습니다.

여기에 문제에 대한 예시가 나와 있습니다. '컨센서스'가 어떤 '상태'인지 알아야합니다.

enter image description here

답변

0

워크 전체 트리와 계산?

> v <- syntheticNMF(20, 3, 10) 

> xx<-consensusmap(x) 

> str(xx) 
List of 4 
$ Rowv : ..--[dendrogram w/ 2 branches and 10 members at h = 1, midpoint = 5.97, value = 3.4] 
    .. |--[dendrogram w/ 2 branches and 7 members at h = 1, midpoint = 3.69, value = 2.5] 
    .. | |--[dendrogram w/ 2 branches and 4 members at h = 0, midpoint = 2.12, value = 1.6] 
    .. | | |--[dendrogram w/ 2 branches and 3 members at h = 0, midpoint = 1.25, value = 1.2] 
    .. | | | |--[dendrogram w/ 2 branches and 2 members at h = 0, midpoint = 0.5, value = 0.8] 
    .. | | | | |--leaf "2" (value.2 = 0.4) 
    .. | | | | `--leaf "1" (value.1 = 0.4) 
    .. | | | `--leaf "3" (value.3 = 0.4) 
    .. | | `--leaf "4" (value.4 = 0.4) 
    .. | `--[dendrogram w/ 2 branches and 3 members at h = 0, midpoint = 1.25, value = 0.9] 
    .. |  |--[dendrogram w/ 2 branches and 2 members at h = 0, midpoint = 0.5, value = 0.6] 
    .. |  | |--leaf "6" (value.6 = 0.3) 
    .. |  | `--leaf "5" (value.5 = 0.3) 
    .. |  `--leaf "7" (value.7 = 0.3) 
    .. `--[dendrogram w/ 2 branches and 3 members at h = 0, midpoint = 1.25, value = 0.9] 
    ..  |--[dendrogram w/ 2 branches and 2 members at h = 0, midpoint = 0.5, value = 0.6] 
    ..  | |--leaf "9" (value.9 = 0.3) 
    ..  | `--leaf "8" (value.8 = 0.3) 
    ..  `--leaf "10" (value.10 = 0.3) 
    $ rowInd: int [1:10] 2 1 3 4 6 5 7 9 8 10 
    $ Colv : ..--[dendrogram w/ 2 branches and 10 members at h = 1, midpoint = 3.03, value = 3.4] 
    .. |--[dendrogram w/ 2 branches and 3 members at h = 0, midpoint = 0.75, value = 0.9] 
    .. | |--leaf "10" (value.10 = 0.3) 
    .. | `--[dendrogram w/ 2 branches and 2 members at h = 0, midpoint = 0.5, value = 0.6] 
    .. |  |--leaf "8" (value.8 = 0.3) 
    .. |  `--leaf "9" (value.9 = 0.3) 
    .. `--[dendrogram w/ 2 branches and 7 members at h = 1, midpoint = 2.31, value = 2.5] 
    ..  |--[dendrogram w/ 2 branches and 3 members at h = 0, midpoint = 0.75, value = 0.9] 
    ..  | |--leaf "7" (value.7 = 0.3) 
    ..  | `--[dendrogram w/ 2 branches and 2 members at h = 0, midpoint = 0.5, value = 0.6] 
    ..  |  |--leaf "5" (value.5 = 0.3) 
    ..  |  `--leaf "6" (value.6 = 0.3) 
    ..  `--[dendrogram w/ 2 branches and 4 members at h = 0, midpoint = 0.875, value = 1.6] 
    ..  |--leaf "4" (value.4 = 0.4) 
    ..  `--[dendrogram w/ 2 branches and 3 members at h = 0, midpoint = 0.75, value = 1.2] 
    ..   |--leaf "3" (value.3 = 0.4) 
    ..   `--[dendrogram w/ 2 branches and 2 members at h = 0, midpoint = 0.5, value = 0.8] 
    ..    |--leaf "1" (value.1 = 0.4) 
    ..    `--leaf "2" (value.2 = 0.4) 
$ colInd: int [1:10] 10 8 9 7 5 6 4 3 1 2 


> lapply(cut(xx$Rowv,0.5)$lower, function(l) rapply(l, function(i) i)) 
[[1]] 
[1] 2 1 3 4 

[[2]] 
[1] 6 5 7 

[[3]] 
[1] 9 8 10 
+0

제안 해 주셔서 감사합니다. 나는이 트리 구조를 정말로 이해하지 못하고 거기에서 '합의점'트랙을 찾을 수 없습니다. 내 데이터에서 나는 심지어 당신이 당신에게서 볼 수있는 "$ Colv"를 얻지 못합니다. 사례/제어 데이터가 있는데 사례 또는 컨트롤에 아키타 입을 너무 많이 표시했는지 확인하고 싶습니다. –