2012-03-15 2 views
1

히트 맵을 사용하여 매트릭스에서 히트 맵을 만들려고했습니다. 내 문제는 루프 내에서 그것을 사용하고있는 동안 매트릭스의 모든 값이 동일합니다 (예 : 모든 값이 0) 및 오류 메시지가 나타납니다. "축의 오류 (1, at = xv, labels = lv) : 아무 위치도 유한 없습니다. "R - 히트 맵을 사용하여 행렬에서 히트 맵을 만들려고합니다. (행렬의 모든 값이 동일합니다.)

어쨌든 이것을 피할 수 있습니까?

답변

1

모든 값이 동일한 지 확인하고 히트 맵 플롯을 건너 뛸 수 있습니다.

m <- matrix(...) 
if(!all(m[1,1] == m){ 
    plot... 
} 
0

히스토그램에 대한 나만의 나누기를 정의하십시오.

x <- matrix(0, nrow = 5, ncol = 5) 
datarange <- range(c(x)) + c(-0.1, 0.1) 
mybreaks <- seq(datarange[1], datarange[2], length = 10) 
heatmap.2(x, breaks = mybreaks, 
      key.xtickfun=function() { 
        breaks <- parent.frame()$breaks 
        return(list(
           at=parent.frame()$scale01(c(breaks[1], 
            breaks[length(breaks)])), 
           labels=c(as.character(breaks[1]), 
            as.character(breaks[length(breaks)])) 
           )) 
        }) 

또는 컬러 키 제거 :

heatmap.2(x, key = FALSE) 
관련 문제