2017-10-26 1 views
1

Ich versuche, eine Heatmap auf der Basis der Spearman Korrelation und mit Dendrogramm entsprechend Spearman Korrelationswerte zu erstellen. Meine Eingabedatei wird wie folgt zusammengesetzt:Korrelation Heatmap mit Heatmaply R

> data[1:6,1:6] 
     group EG PN  C0  C10  C10.1 
    1 Patients 24 729 352.66598 43.80707 75.16226 
    2 Patients 24 729 195.48486 17.15763 33.60365 
    3 Patients 24 729 106.85937 15.13400 34.47340 
    4 Patients 27 1060 76.70645 14.98315 22.09885 
    5 Patients 27 1060 354.07169 50.61995 98.36765 
    6 Patients 27 1060 331.84956 92.00343 125.46658 
> data[150:160,1:6] 
     group EG PN  C0  C10  C10.1 
150 Controls 27 1011 99.94756 9.018773 20.207498 
151 Controls 30 616 300.20203 25.667548 37.363280 
152 Controls 30 616 190.38030 18.811198 46.417332 
153 Controls 26 930 79.44666 7.801935 4.569444 
154 Controls 24 724 381.74026 39.842241 42.144842 
155 Controls 24 724 191.39962 19.008729 31.064398 

Ich bin in der Lage zu einem einfachen Korrelationsplot gemacht, aber ich mag eine einzigartige Heatmap sowohl mit Protein erzeugen und Themen Dendrogramm auf der Basis auf Spearman Korrelation. Weiß jemand wie man es macht? Vielen Dank im Voraus

Antwort

1

Der folgende Code zeigt eine interaktive Heatmap mit Spearmans Rangkorrelation an, um sowohl Zeilen als auch Spalten zu gruppieren (in diesem Fall für den Datensatz mtcars).

heatmaply(mtcars, 
    distfun = function(x) as.dist(1 - cor(t(x), method="spearman"))) 
+0

vielen aocall danken, aber auf diese Weise erhalte ich ein sehr seltsames Ergebnis, infact auf meinem Heatmap i von -1 bis 1, wie sie normalerweise haben Werte nicht aber 0-10000 .... warum es passiert? –

+0

@ Dr.PhilCol Wir brauchen ein Beispiel mit reproduzierbarem Code, um zu sehen, was Sie ausgeben und wie Sie es beheben können. Nehmen Sie das Beispiel von einem Aufruf und passen Sie es an Ihr Szenario an, um zu sehen, ob Sie das Problem reproduzieren können. –

+0

Es klingt wie Sie wollen einfach eine Korrelation Heatmap plotten. In diesem Fall wäre der Befehl "heatmaply_cor (cor (mtcars, method =" spearman "))". Wie Tal vorgeschlagen hat, wird ein detailliertes Beispiel helfen klarzustellen, was Sie erreichen möchten. – aocall