Erstellen einer Heatmap, in der die Daten NaN-Werte enthalten

9

Ich versuche eine Heatmap mit dem heatmap.2 -Paket zu erstellen. Meine Daten enthalten viele NaN -Werte und ich möchte Folgendes tun. Jedes Mal, wenn ein NaN -Wert vorhanden ist, muss die Zelle einfach hellgrau (oder eine andere neutrale Farbe, möglicherweise weiß) und alle anderen Werte (die log2-Ausdrücke sind) mit einem Standard grün / gelb / rotes Farbschema. Hier ist mein Code, den ich benutze:

%Vor%

Das funktioniert gut, wenn keine NaN -Werte vorhanden sind, aber wenn die Daten NaN haben, bekomme ich einen Fehler, der besagt:

%Vor%

Im Wesentlichen möchte ich, dass die NaN in den Daten ignoriert werden. Ich bin mir nicht sicher, wie ich damit umgehen soll. jede Hilfe würde sehr geschätzt werden.

    
user1352084 31.12.2013, 15:11
quelle

3 Antworten

11

TL; DR: Das Problem ist wahrscheinlich auf delegierte distfun und nicht auf die Funktion heatmap2 selbst zurückzuführen. Die Standardfunktion dist versucht, den Abstand zwischen Ihren Datenpunkten zu berechnen, und wenn die Abstandsberechnung eine NA zurückgibt, kann die Clusterfunktion das nicht verarbeiten.

Die längere Version:

Ich habe in letzter Zeit das gleiche Problem wie das OP erlebt und musste ziemlich eingreifen, um zu verstehen, warum das Problem für andere nicht reproduzierbar war.

Das wesentliche Problem ist wie folgt: heatmap2 übergibt standardmäßig hclust und hclustfun und dist als distfun Parameter. Die Fehlermeldung besagt eindeutig, dass es hclustfun ist (was in diesem Fall standardmäßig hclust ist), das nicht die NA s mag.

Die nächste Information lautet: Obwohl die Datenmatrix NA s enthält, können die Ergebnisse von dist (die in hclust übergeben werden) frei von NAs sein, was bei @ kdauria der Fall ist Antworten. Siehe unten:

%Vor%

Die Zufallsmatrix reproduziert das Problem nicht, weil sie das Problem vermeidet. Was mich zu der Frage bringt: Was braucht es, um NAs von dist zu bekommen?

Meine Daten hatten einige weit entfernte Werte, die ich für den Grund hielt, aber ich konnte das Problem nur reproduzieren, indem ich eine Reihe von NAs hinzufügte:

%Vor%

Die Situation scheint jedoch nicht spezifisch für den Fall zu sein, dass eine Reihe vollständig aus NA besteht. Zum Beispiel:

%Vor%     
posdef 05.03.2015 13:08
quelle
0

Ich bin also kein Experte im Codieren, aber ich habe gelernt, Heatmaps auf R zu erstellen, und ich habe immer die gleiche Fehlermeldung für meine NA-Daten. Es stellt sich heraus, dass der Grund, warum ich die Fehlermeldung bekam, war, dass NA-Begriffe in der ersten Spalte in meinen Daten waren und R das überhaupt nicht mochte. Also fügte ich eine zusätzliche Spalte hinzu und füllte sie mit 1en und es funktionierte !! Ich hoffe, vielleicht findet jemand das nützlich!

Kahina

    
Kahina 07.12.2017 00:02
quelle
-1

Ich kann das Problem nicht reproduzieren. Der folgende Code funktioniert einwandfrei. Alle NaN-Werte sind blau gefärbt.

%Vor%

    
kdauria 31.12.2013 15:55
quelle

Tags und Links