2012-06-27 2 views
1

csv 파일에서 데이터를 읽음으로써 매트릭스의 히트 맵을 플롯하려고합니다. 여기 코드가 모습입니다 :Heatmap using R

lda <- read.csv('topic_word_matrix.data',sep=",") 
row.names(lda) <- lda$topics 
lda <- lda[,2:ncol(lda)] 
lda_matrix <- data.matrix(lda) 
lda_heatmap <- heatmap(lda_matrix, Rowv=NA, Colv=NA,col = cm.colors(256), scale="column", margins=c(5,10)) 

내 입력 파일처럼 보이는 다음

topics,jockin,limited,raining,magnetic,reallamarodom 
topic9,0.0,0.0,0.00671140939597,0.0022271714922,0.00234192037471 
topic2,0.1,0.0,0.02671140939597,0.0022271714922,0.00234192037471 

I은 ​​(는) 모든 색상이없이 플롯을 얻을 다음과 같은 경고 메시지 :

Warning messages: 
1: In min(x) : no non-missing arguments to min; returning Inf 
2: In max(x) : no non-missing arguments to max; returning -Inf 

누군가가 잘못 될 가능성이 있다는 단서가 있습니까?

+0

제공된 데이터로 코드를 실행했습니다. 그 결과 색이있는 플롯이 생기고 경고가 표시되지 않습니다. 입력 데이터에 문제가있는 것 같습니다. – Andrie

+0

나는 코드가 잘 작동한다는 것을 알고 있지만,이 경고 메시지를 멈추고 색상이있는 플롯을 얻으려면 입력 데이터를 검사해야하는지 모른다. 이 문제의 원인을 아십니까? 3000 개 이상의 항목이있는 거대한 파일입니다. 내가 정확히 무엇을 조사해야합니까? – tan

+0

좀 더 구체적으로 말하자면, 다음은이 경고를 던지는 실제 파일 [link] (http://dl.dropbox.com/u/39515687/topic_word_matrix.data)입니다 – tan

답변

2

인수 'scale = "columns"'의 오류 결과입니다.

열의 표준 편차가 0이므로 스케일링 (평균/sd)이 실패합니다. 따라서 scale = "row"또는 scale = "none"을 사용하거나 왜 열의 크기를 조정하려고하는지 생각하십시오.

HTH